Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32F1xx Option Byte
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Sergey_Aleksandrovi4
Разбираюсь с Option Byte МК семейства STM32F1xx (Cortex M3). Два пользовательских байта Data1 и Data0. Правильно ли я понял алгоритм модификации этих байт (в общем виде):
1. Прочитать все 8 полуслов из области Option Byte и сохранить во временный буфер (напр. в ОЗУ)
2. Стереть область Option Bytes (0x1FFF F800 - 0x1FFF F80F) во Flash
3. Модифицировать требуемый байт Data0 или Data1
4. Записать обратно все 8 полуслов в область Option Byte во Flash из ОЗУ буфера.

С точки зрения ПО - всё работает, всё пишется. Но коробит то, что ради модификации одного-единственного бита в Data1 или Data0 приходится вычитывать всю область в ОЗУ, стирать секцию Flash и затем записывать всё обратно. Не делаю ли я лишних операций и можно как-либо оперировать с байтами (полусловами если быть точным) Data0 и Data1 наподобие EEPROM?
Sergey_Aleksandrovi4
В общем "шляпа" эти Option байты. Каждая модификация требует стирания. А это 20-40 мс, что при тактовой 72 МГц - целая вечность. Случайная порча сосендих ячеек (например сброс между процессом полного стирания - записи новых данных) приводит к отказу устройства. Долго и небезопасно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.