ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
11 апреля
1580954 Топик полностью
petrd (Сегодня, 08:29, просмотров: 76) ответил Nikolay_Po на А я и не нашёл способа, как записать все биты так, чтобы во флеши они стали нулями.
Зачем? У меня на V303 работает портированный эмулятор EEPROM по мотивам an2594 от STM и запись в нем происходит стандартным способом полусловами. Но после Ваших исследований стало понятно, что запись в страницу 256 байт каждый раз сопровождается стиранием страницы и убиением ресурса перезаписи, т.е. на 128 записей полуслова приходится 128 стираний страницы. Поэтому решил переделать на быструю запись страницами по 256 байт. Но в работе алгоритма an2594 в начале каждой 

страницы (у меня их две по 4кБ каждая) выделено полуслово под служебные маркеры состояния страницы и если в остальные ячейки запись производится в стертые ячейки, то в маркеры по мере работы запись производится в порядке - стирание (0x0E339)->0xEEEE->0x0000->стирание (0xE339)->0xEEEE->0x0000. Если с 0xEEEE все норм, то с нулями, как говорил - не получилось. В итоге все решено, но с нулями осталась непонятка, поэтому и поднял вопрос. В решении нарисовалось два варианта - первый, маркеры писать стандартной записью полуслова, маркеры пишутся редко, поэтому можно пожертвовать некоторым количеством скрытых стираний страниц. Либо маркеры писать быстрым способом без стирания, но маркеры надо правильно подобрать, у меня работает так 0x0E339->0xF228->0x1CCE. Собственно вот.