Эмуляция STM32 EEPROM против драйвера HAL_FLASH и HAL_FLASH_EX
Требуется подтвердить варианты постоянного сохранения значений на устройстве STM32H7.
Насколько я понимаю, варианты высокого уровня:
- Эмуляция EEPROM с помощью eepropm.h/c (который использует драйверы HAL_FLASH/EX)
- Драйверы HAL_FLASH и HAL_FLASH_EX, stm32h7xx_hal_flash.h/c stm32h7xx_hal_flash_ex.h/c
- Внешнее хранилище, EEPROM, FLASH и т. Д.
Есть ли другие варианты библиотеки для этого?
В чем добавленная стоимость библиотеки eeprom?
Насколько я могу судить, библиотека eeprom предоставляет только 3 функции и не совсем настраиваема. Я рассматриваю это скорее как пример, который можно изменить, чем как библиотеку, готовую к использованию.
Примечание к приложению ST AN4061 Для справки в примечании к приложению ST для эмуляции eeprom STM32F0xx, предложения по самостоятельному добавлению выравнивания износа, а также во введении говорится:
- "По крайней мере, две страницы флэш-памяти должны использоваться, больше, если возможно, для выравнивания износа"
Это означает, что есть выравнивание износа.
Кроме того, являются ли эти параметры потокобезопасными? драйвер HAL_FLASH имеет параметры прерывания, но библиотека eeprom не дает понять, как это сделать, если возможно.
Предпочтительны варианты, обеспечивающие выравнивание износа и безопасные для нитей.