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

 
 
> Проблема с записью во Flash
lehacheb
сообщение May 6 2014, 05:10
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 11-04-09
Пользователь №: 47 508



Может кто сталкивался, помогите

Использую процессор MSP430F5342,
программу пишу в среде Embedded Workbench 6.0.
Вроде пока проблем не возникало но тут возникла.
Дело в том, что основная память процессора code memory
располагается по адресу от 0x4400 до 0x24400 и составляет
128 КВ. У меня есть необходимость записывать во Flash архивы измеряемых
значений, причем под архивы планирую отвести половину
всей памяти (Банк С и Банк D адреса от 0х14400 до 0x24400).
Для записи использую следующую процедуру из MSPWare Driver Library:
Flash_write32(__MSP430_BASEADDRESS_FLASH__, C_N, (unsigned long *)START_ARC, 4);
Я писал сначала в Information memory в сегменты Info B и Info C (START_ARC=0x1880 START_ARC=0x1900)
писалось без проблем. Попробовал в основную память в Банк С (START_ARC=0x14400) не пишется.
И потом я обнаружил, что если ставить адрес меньше 0хFFFF, то пишется и в основную память,
а если ставить адрес больше 0х10000 не работает, то есть можно записать до середины Банка В,
а дальше нельзя.

И еще одно наверное с этим связанное: если я хочу расположить массивы во Flash:

#pragma location=0x1900 // параметры
__root __no_init unsigned long param[32];

#pragma location=0x1880 // счетчики
__root __no_init unsigned long counter[32];

#pragma location=0x14400 // архивы
__root __no_init unsigned long archive[128];

не компилируется, ругается на адрес третьего массива, выдает ошибку:
Error[Ta028]: Placing a located variable above 0xffff is not allowed D:\Prog\Teplos_3V_6.0\main.c 85
пишет что переменные по адресу больше 0xffff располагать запрещено.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 04:16
Рейтинг@Mail.ru


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