Разбираюсь с 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?