В ОЗУ выделяем блок памяти размером 256|512|...байт и изначально заполняем его 0xFF. Контроллер получает какие-то данные и записывает их в начале этого блока. После этого весь блок записывается во flash средствами IAP. Следующие данне записываются в блок ОЗУ сразу после предыдущих и весь блок ОЗУ снова записывается во flash на то же место. И так далее до заполнения блока. После-переход на следующий блок flash и т.д. Можно, конечно, дождаться заполнения всего блока ОЗУ и записать сразу все, но в некоторых случаях такой способ может быть актуальным (пропадание питания). На LPC2138 вроде работает, но длительных наблюдений не проводилось. Не приведет-ли это к сокращению ресурса flash, ошибкам данных и прочим нехорошим последствиям?
|