ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
3 апреля
1509674 Топик полностью
Nikolay_Po (Вчера, 09:40, просмотров: 64) ответил il-2 на Я бы не надеялся на "дозапись" уже записанной области флешь без стирания. Выпустят новую ревизию чипа - там будет все по другому. Кстати, даже STM32F1 не поддерживала "дозапись". Если попробуешь на записанное место (где нет 0xFFFF) записать что-то другое, в рассчете что стертые "1" превратятся в "0", то результат на самом деле будет непредсказуемым. Я пытался на нем делать оптимизацию записи - если новое значение при записи изменяет биты только с "1" на "0", но не
Спасибо за информацию. Относительно вашего случая по вашей ссылке выше, отмечу: 

1. Код очищенной флеш приведён в паспорте и в комментариях исходного кода библиотеки флеш от производителя. Это значение 0xE339 для всех полуслов.

2. Совпадение между записанным из исполняемого кода и прочитанным из исполняемого кода - полное. Записали нули - прочитали нули. Исходный код записи и чтения - открыт, управление через регистры контроллера флеш прозрачно и документировано.

3. Когда программа заливается через отладчик, инициализированные нулём данные в выделенной в скрипте линкера области флеш, из кода читаются как "0", как и задумано, за исключением первого 32бит-слова. Полагаю, это баг ПО отладчика. Но в общем, всё не так сложно как в вашем том случае.