IAP в LPC2478
Доброго времени суток! Появился странный вопрос у меня сегодня.
Ситуация такая:
среда Keil, есть LPC2478, у него внутри есть flash память. В процессе работы прошивки я использую IAP функции для хранения некоторых данных во flash памяти. Разобрался, как читать-писать-стирать, все работает.. но не совсем. В первый раз после очистки секторов (все байты сектора = 0xFF) все работает на ура. А если попробовать обновить записанные данные - записать новые данные вместо старых по тому же адресу во flash - не записывается вовсе, или записывается сильно искаженно. Есть подозрение, что писать во flash нули я могу функцией копирования из RAM во flash, а писать единицы можно только стиранием всего сектора.
Если кто-нибудь что-то об этом знает, просвятите пожалуйста! Так ли это, что запись может только 0 записывать в биты flash? Если так, то есть ли более адекватный способ хранить данные во внутренней flash памяти и обновлять их?
|