реклама на сайте
подробности

 
 
> размещение массива во Flash памяти, как разместить переменные во Flash и RAM
Solodov
сообщение Nov 18 2010, 04:38
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 20-03-06
Пользователь №: 15 418



Всем, доброго дня.

Не подскажите ли процедуру размещения переменных во FLASH?
Да и собственно где размещаются те переменные которые объявляются? Как этим управлять?

(Среда программирования IAR)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
O.L.
сообщение Nov 18 2010, 06:42
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 96
Регистрация: 10-06-05
Из: Новосибирск
Пользователь №: 5 890



Цитата(Solodov @ Nov 18 2010, 10:38) *
Всем, доброго дня.

Не подскажите ли процедуру размещения переменных во FLASH?
Да и собственно где размещаются те переменные которые объявляются? Как этим управлять?


в RAM:
#pragma location = 0x200
__no_init volatile unsigned int nADC_CH0; // curent value adc ChN_0

во Falsh:
const unsigned char clAbout[] = {"\n\r\t- MWR monitore v1.6 -\n\r\n\r"};
#define PORT_MASK_SIZE 8
const unsigned char cbPortMask [PORT_MASK_SIZE] = { 0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80 };

для переменных удобно использовать Info сектора.
Для двух секторного контроллера:
#define FSectorB 0x1000 // Start addr infoB sector
#define FSectorA 0x1080 // Start addr infoA sector

#pragma constseg=INFOB
const unsigned int cDELAY_ON = {1000}; // Powr RELAY enable time puse
const unsigned int cDELAY_OFF = {200}; // ... disable time puse

const unsigned char cNumber[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01};//
const unsigned char cVer[] = "1.01b";
const unsigned char cID_GUID[] = {0xAF,0xE0};
#pragma constseg=default

Читаются как обычные константы. А вот для записи нужно будет сначала прочитать все переменные из сектора в буфер RAM, изменить значение конкретной переменной в этом буфере, очистить сектор процедурой стирания и вновь записать все используемые переменные. То же самое можно проделывать и с основной памятью, вот только размер сектора там больше. Подробности хорошо описаны в примерах на выбранный контроллер которые свободно берутся с сайта TI. Например MSP430x261x_flashwrite_01.c из архива slac151a.zip.


Сообщение отредактировал O.L. - Nov 18 2010, 06:57
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 00:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.01346 секунд с 7
ELECTRONIX ©2004-2016