A.L. (31.01.2020 11:49, просмотров: 306) ответил Dingo на Уважаемые, если у кого-то уже изобретён велосипед по эмуляции EEPROM на Flash? Нужен на stm32f407, из аппнотов ST готовые сильно кривые. Ну или пните меня в сторону толковой статьи.
Я сделал свою реализацию. Пока реализовано только с одной страницей, но нужно будет дописать работу с двумя (пока особой необходимости в этом не было).
Сохраняемые параметры имеют теги (например индекс параметра в структуре). Каждая запись имеет длинну минимум 4 байта (2 *uint16_t), и содержит ТЭГ(номер, uint8_t), тип записи(uint8_t), (поддерживаются следующие типы -int16_t, zero termination string, типы расширяемые)), далее если тип записи int16_t, то им просто добиваем запись до 4 байт.
При каждой записи параметра производится его поиск по памяти для исключения дублирования, и если найден элемент с тем же тэгом и значением, то возвращается статус "уже есть".
Запись идет последовательно запись за записью до заполнения страницы памяти. После заполнения страницы она автоматически стирается и возвращается статус "данные стерты полностью", функция сохранения параметров полностью сохраняет все параметры повторно. По сути, это единственное слабое место пока.
Как то так.