ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
5 мая
1288303 Топик полностью
Dingo (02.03.2023 06:03, просмотров: 135) ответил bnb62 на Потребовалось удалённо конфигурировать систему. При инициализации заполняю структуры численными значениями из флэши проца (stm32). Которые туда записываются парсингом получаемых с сервера файлов. Прикол в том, что это три независимых структуры, соо-нно три файла. Пользователь будет конфигурировать у-во изменяя данные в файлах. Но все это хранится и во флэши, причем в одном секторе, который надо стирать весь, чтобы что-то там перезаписать... И попал я в какой-то
Что вы там такое наворотили?! У меня в меньше 500 строк, инициализация, поиск блока по своему тегу, контрольные суммы. Нужна структура - присваиваем тег, по нему и ищем при случае. Не файл целиком, а блок данных/параметров. Есть тонкости типа ограничения размера и другого, но всё поправимо. При чтении тега ищем последнее валидное вхождение. Использует SPL. 

В чём не уверен - что при заполнении сектора все теги перенесутся в новый сектор, если тегов несколько.

eemem_.zip

Ещё в сторону lfs(The little filesystem) посмотрите.


Для сущности (файла, структуры, блока параметров), есть две операции: чтение, запись. Сущность нужно идентифицировать, отличать одну от другой; для привычных файлов - имя, путь+имя. При чтении параметров, если не найдена - грузим "по умолчанию". При записи - пишем на свободное место. Проверяем заполненность накопителя, при необходимости переносим в новый сектор для освобождения предыдущего и его стирания.