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

 
 
> Не работает IAP в LPC2103, Не стирает и не записывает
LCD
сообщение May 22 2013, 10:52
Сообщение #1


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

Группа: Участник
Сообщений: 92
Регистрация: 1-06-08
Пользователь №: 37 959



Здравствуйте. Есть программа для LPC2103, в которой используется сохранение данных во встроенную Flash-память. Ведет себя она довольно странно: при вызове из одного места программы она работает как положено, а из другого, похожего - в 90% случаев не работает, но закономерность появления этого сбоя я не нашел. Выражается сбой так: после попытки стирания или записи в память, память не стирается и не записывается, а остается с теми же данными, а result[0] = 0.

Код:
CODE
void SaveRAMToFlash(void)
{
int IntSave= VICIntEnable;
unsigned int command[5];
unsigned int result[2];

RAMdata.header=0x5a;
RAMdata.checksum=GetDataChecksum (&RAMdata);

ResetADC=1;
VICIntEnClr = IntSave;

command[0] = 50; //Prepare sector for a write operation
command[1] = 7; // first sector
command[2] = 7; // last sector
iap_entry (command, result);

command[0] = 52; //erase sector
command[1] = 7; // first sector
command[2] = 7; // last sector
command[3] = 32211; //cclk
iap_entry (command, result);

command[0] = 50; //Prepare sector for a write operation
command[1] = 7;
command[2] = 7;
iap_entry (command, result);

command[0] = 51; // copy ram to flash
command[1] = (unsigned long) &ROMdata; // destination
command[2] = (unsigned long) &RAMdata; // source
command[3] = 512; // byte count
command[4] = 32211; // CCLK in KHz
iap_entry (command, result);

VICIntEnable = IntSave;
ResetADC=0;
}


Сообщение отредактировал IgorKossak - May 22 2013, 11:15
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
Go to the top of the page
 
+Quote Post



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

 


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


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