-
- Что вы там такое наворотили?! У меня в меньше 500 строк, инициализация, поиск блока по своему тегу, контрольные суммы. Нужна структура - присваиваем тег, по нему и ищем при случае. Не файл целиком, а блок данных/параметров. Есть тонкости типа ограничения размера и другого, но всё поправимо. При чтении тега ищем последнее валидное вхождение. Использует SPL. Dingo(570 знак., 02.03.2023 06:03, ссылка)
- надвое: либо ОЗУ хватает чтобы хранить одну страницу флеш, либо не хватает, тогда следующий вопрос, записывать можно хоть по одному слову, и если вдруг стерли и записали настроек только часть, сможем запуститься и натворить плохих дел? надо чтобы не смогли. а просто тормозить запуск и требовать дозаписать недостающее, либо же инициализировать недостающие данные по умолчанию но тоже проорать что нас не настроили до конца, стартуем с дефолтом. законченность записи данных NAUT(219 знак., 28.02.2023 00:36)
- Рекомендую ознакомиться с аппнотом STM "eeprom emulation" как список идей. Упрощённо так: модификации все в буфере в RAM, записываем следующий, сохраняя предыдущий (copy on write), при чтении берём последний целый(валидный). Хорошо использовать несколько страниц для размазывания износа и возможности чтения при ошибках. И помните, что контроллер на время записи заблокирует флешь, где хранятся обработчики прерываний... Dingo(1 знак., 27.02.2023 12:23, ссылка)
- не касаясь вашего случая, спасибо за идею. Думаю тоже перейти на этот метод - скидывать файл конфигурации с FTP, чтоб проц потом всё куда надо раскидывал. - Лaгyнoв(27.02.2023 11:13)
- Сектор переписываешь в RAM, там обновляешь и потом записываешь. А лучше записываешь в след. сектор и переводишь указатель. - General(27.02.2023 09:52)