
Как переехать с FatFS на LittleFS: опыт «КЕДР Солюшенс»
andreysolovev 1 минуту назад Как переехать с FatFS на LittleFS: опыт «КЕДР Солюшенс» Средний 9 мин 19 Производство и разработка электроники * Компьютерное железо Управление разработкой * Кейс Как мы переезжали с FatFS...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
В сфере искусственного интеллекта произошло заметное событие. andreysolovev 1 минуту назад Как переехать с FatFS на LittleFS: опыт «КЕДР Солюшенс» Средний 9 мин 19 Производство и разработка электроники * Компьютерное железо Управление разработкой * Кейс Как мы переезжали с FatFS на LittleFS, и причем тут MTPВсем привет! Меня зовут Андрей, я технический директор в компании “КЕДР Солюшенс”. Как коллеги вы, наверняка, разделяете мнение, что не стоит изобретать велосипед там, где можно обойтись стандартными, проверенными временем решениями.
Но сегодня я хочу честно поделиться историей одного нашего проекта, в котором этот постулат дал сбой. Я покажу, как стандартная архитектура хранения данных загнала нас в тупик и какие шишки мы набили при попытке все исправить с наскоку. С чего все началосьОдин из проектов нашей команды – разработка графического калькулятора.
Технические детали
Помимо прочего, от нас требовалось реализовать возможность хранить на устройстве пользовательские данные, а также настройки устройства и результаты его работы. Пользователь должен иметь возможность управлять данными, хранимыми на калькуляторе, с помощью компьютера. Мы выбрали следующую архитектуру:микроконтроллер GD32F470, работающий на частоте 240 МГц; флеш-память SPI NOR на 8MБ (этого объема достаточно для типового использования устройства); USB FULL SPEED.
Для решения поставленной задачи команда выбрала файловую систему FatFS – реализацию стандартов FAT12, FAT16 и FAT32 для встраиваемых систем, созданную разработчиком ChaN. Она предоставляет универсальную структуру хранения данных, способную работать на различных платформах. Управление устройством памяти берет на себя драйвер.
Это позволяет иметь универсальный API для доступа к данным, что упрощает портирование прошивки на другие устройства и эмуляторы. К тому же, она занимает мало места (7 КБ). Изначально пользователь мог получить доступ к файловой системе только при загрузке устройства в специальном режиме – Mass Storage.
Отраслевые последствия
В этом режиме загрузчик не запускает основную прошивку, а передает управление драйверу Mass Storage, реализованному в SDK микроконтроллеров GD32F470. Данный драйвер предоставляет компьютеру низкоуровневый доступ к устройству хранения. Такое решение позволяет обновлять основную прошивку путем сохранения файла прошивки внутри файловой системы.
При следующей перезагрузке, загрузчик проверяет файловую систему на наличие новой прошивки и обновляет ее, если это требуется. Это, казалось бы, простое и эффективное решение впоследствии привело к множеству проблем. Как разрастался снежный комСокрытие критических данныхВ ходе разработки мы поняли, что должны ограничить доступ пользователей к некоторым системным файлам, а именно к очереди экранов, истории операций и настройкам.
Нужно было разрешить читать и удалять эти файлы, но не изменять их внутреннее содержимое, т. любые несанкционированные изменения могут привести к неопределенным последствиям в работе прошивки.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





