Использую я SK-MLM3S9B95 и MT-Link,среда программирования IAR, контроллер LM3S9B95 ревизия С1.
Написал и отладил на этой плате WEB сервер, подключил символьный индикатор 16х2, входа выхода, всё шло как по маслу, использовал API и библиотеки.
Дошло дело до записи во Flash память, долго не думая вставил код примера из документации по API:
unsigned long pulData[2];
// Set the uSec value to 20, indicating that the processor is running at
// 20 MHz.
//
FlashUsecSet(20);
//
// Erase a block of the flash.
//
FlashErase(0x36000);
//
// Program some data into the newly erased block of the flash.
//
pulData[0] = 0x12345678;
pulData[1] = 0x56789abc;
FlashProgram(pulData, 0x36000, sizeof(pulData));
Загрузил код в контроллер, запустил, процессор доходит дошел до функции FlashErase и зациклилсяиз за невозможности очистить память.
После этого стало невозможным записать программу во Flash память, IAR зависает JFlashARM выдаёт ошибку:
- ERROR: Timeout while erasing sector, core does not stop
- ERROR: Failed to erase sectors
Память прочтиать можно, отладка в IAR работает.
Подскажите как очистить Flash память данного контроллера и избежать подобных проблем?
Получил ответ от инженера ф. TI, - что на данной микросхеме используется Flash память с количеством циклов перезаписи равным 100, так что я исчерпал этот ресурс. Исходя из этого, смысла в использовании функциий записи во Flash память не вижу, записал один раз JLINK и хватит. А отлаживать программу придётся в оперативной памяти.
Я сначала то же так думал, что количество циклов перезаписи Flash памяти достаточно много, но есть официальный документ http://www.luminarymicro.com/index.php?option=com_remository&func=download&id=2091&chk=b018915e9e0eaf1b1c7c5b2215c8c680&Itemid=591 (Errata_LM3S9B95_C3_C5-1.7, Errata - богиня ошибок у журналистов оказывается, оригинальное оправдание придумали, что и боги ошибаются, а сами тут пишут что изначально заложили старую технологию при изготовлении Flash памяти, а это ничего общего с ошибкой не имеет) см. п.3.6.
При выборе микросхемы советую впервую очередь читать сначала эту Эррату, а не даташиты и рекламные буклеты.