STM32 Файловые системы. Библиотеки для микроконтроллеров STM32.

  Рет қаралды 7,728

Vladimir Medintsev

Vladimir Medintsev

3 жыл бұрын

Этот видео ролик является продолжением серии видео о библиотеках для проектов на микроконтроллерах STM32. В видео рассматриваются как бесплатные так и коммерческие реализации файловых систем для микроконтроллеров.
Скачать документ со ссылками - yadi.sk/i/urz0Bu1tnO655A
Канал в телеграмм - t.me/vladimir_medintsev
Канал Яндекс.Дзен - zen.yandex.ru/vladimir_medintsev
Канал на RuTube - rutube.ru/channel/1797552/
Канал на KZfaq - / vladimirmedintsev
------------------------------------------
Если вы хотите поддержать автора канала номер карты Сбер:
2202-2023-2480-4008
------------------------------------------

Пікірлер: 61
@sergatmel8242
@sergatmel8242 3 жыл бұрын
Спасибо за систематизацию !!! 👍
@victorlowlevel8063
@victorlowlevel8063 3 жыл бұрын
Повторюсь как и в прошлый раз: Короче посоны - продолжаем юзать куб, FreeRTOS и FatFS. 🙂 Со времён господина Чана за 20 лет ничо лучшего и бесплатного (☝️- важно) так и не придумали!
@aleksdesh2755
@aleksdesh2755 3 жыл бұрын
придумали github.com/SiliconLabs/uC-OS3 github.com/SiliconLabs/uC-FS
@TheIvanDM
@TheIvanDM 2 жыл бұрын
@@aleksdesh2755 к сожалению, в отличие от FatFS, не поддерживает extFAT
@petrsidorov3489
@petrsidorov3489 3 жыл бұрын
Спасибо за Ваш труд!!!
@aleksdesh2755
@aleksdesh2755 3 жыл бұрын
Имею опыт применения littlefs с первых релизов в коммерческом проекте (на текущий момент около 30к активных девайсов на этой фс). Проект имел сжатые сроки, Краснодарский бюджет (т.е. -> 0), требовал как заявленные "Power-loss resilience", так и "Wear leveling", а так же некоторую специфику, которая выяснились в процессе. Первой моей ошибкой оказалось то, что я решил что ARM и MBED это серьезные ребята, а не одинокий японский радиолюбитель. Нет, парни, ChaN крут по настоящему, но и у него бывают эчинейшие ляпы (в этом можно легко убедиться, если внимательно почитать историю версий FatFs). Но вернемся к littlefs. Выпустили ее не то что бы сильно оттестированной (да да, это опенсорс, детка, тут тебе никто ничего не должен). В общем в ветке 1.x при масштабировании на первые 1к девайсов она начала регулярно осыпаться в труху. Иногда настолько, что восстановить ее можно было только полным стиранием флеши. На гитхабе на это было много жалоб. Есть и мой ишью с подборочкой дампов после креша. Но автору было уже не до ветки 1.x. Он пилил ветку 2.x, которая должна была стать еще более быстрой, и более надежной. Перейти на ветку 2.x я не смог из потери примерно 40% производительности на моем кейсе, кроме того как показали мои немногочисленные тесты проблему крешей фс на тот момент так и не решили. А затем афтор и вовсе ушел в туман примерно на пол года без объявления войны. Через полгода правда выкатил версию 2.2 в которой вроде как полечил основные болячки, но я уже не смотрел что у него получилось. В итоге что могу сказать в сухом остатке о ней: 1) Круто, что есть такая библиотечка. Не круто, что маркетинг опять победил здравый смысл. Не было бы претензий к этой поделке, если бы ее не пиарили в определенных кругах, как панацею от всех болезней. 2) Когда MBED по своим теста получает рост производительности, я получаю ее потерю. К сожалению, это печаль конкретно моей аппаратной платформы на базе SIM868, EAT и софтового SPI, о котором китайцы тактично умолчали. 3) Не любит писать в начало или середину файлы. Только в конец. Иначе переписывает файл от места изменения до конца. Приходится писать ротацию файлов. Но каталоги живут по тем же правилам, и при большом количестве файлов тоже начинаем упираться в производительность. 4) Сама библиотека очень плохо проверяет входные параметры. Иногда вообще не проверят. Она ждет что это будет делать прослойка между ней и пользовательским кодом. В общем библиотеку рекомендую. В ней все как мы любим.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Спасибо, интересно. Приветствую, нас тут оказывается очень много из Краснодара
@easystm6865
@easystm6865 3 жыл бұрын
@@VladimirMedintsev всмысле, вы из Краснодара?
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
@@easystm6865 Да, а что?
@easystm6865
@easystm6865 3 жыл бұрын
@@VladimirMedintsev совсем не ожидал, что вы с моего города
@aleksdesh2755
@aleksdesh2755 3 жыл бұрын
@@sergsapov2927 filex/levelx так же в шорт-листе к изучению. Документация хороша. Ознакомился еще до ее открытия майкрософтом.
@ViacheslavMezentsev
@ViacheslavMezentsev 3 жыл бұрын
Как и в прошлый раз добавлю, что файловая система emFile доступна для "нехорошего" использования в составе старого PowerPac в IAR. Там ramdisk есть прямо в примерах. Я, кстати, пользуюсь, но для большой внешней памяти. Ещё вроде PetitFs (урезанная FatFs) не упомянута, хотя она очень проста для несложных применений. Поддерживает FAT32. Я делал загрузчик с sd-карты, который для AVR hex-файлы читает и записывает во флеш и eeprom, так вот именно PetitFs помогла уместить весь код загрузчика в 4Кбайта.
@SandAlone
@SandAlone 3 жыл бұрын
Видео топ! ChaN рулит, я ещё это понял на первых ARM от Philips (NXP)
@ibrag2012
@ibrag2012 3 жыл бұрын
Теж в колекцію, дякую!
@igorrad4101
@igorrad4101 3 жыл бұрын
Спасибі за відео!👍🤝🏅
@ajdarseidzade688
@ajdarseidzade688 3 жыл бұрын
Спасибо Вам огромное за такие обзоры! Большая работа была проделана. Насчет Azure RTOS скажу, что не такая уж "страшная" она. Но - действительно много кода (но размер бинарника небольшой). Они просто каждую функцию писали только в одном файле (в коде придерживаются стандарта MISRA). Вроде - неплохая вещь все-таки и распространена на многих устройствах. Привет Вам из Баку (я помню как Вы мне писали "что поосторожней там", но не смог ответить Вам тогда - как видите пока живой :) т.к. "не понадобился" вроде тут, в событиях).
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Спасибо. Держитесь там.
@user-ux7fo8qq8x
@user-ux7fo8qq8x 3 жыл бұрын
В защиту LittleFS скажу, что она есть в виде отдельной библиотеки(на гитхабе littlefs-project/littlefs), т.е. её можно применять без MbedOS. И встраивать ее не сложнее FatFS. А такие фичи, как "Power-loss resilience" и "Dynamic wear leveling" ставят ее вне конкуренции. Но, если речь о съемных носителях - LittleFS не вариант(PC с LittleFS не работают).
@aleksdesh2755
@aleksdesh2755 3 жыл бұрын
github.com/bluscape/LittleFS-Explorer-for-Windows
@ViacheslavMezentsev
@ViacheslavMezentsev 3 жыл бұрын
Есть одна забавная файловая система для очень мелких хранилищ типа EEPROM: teslabs.com/openplayer/docs/docs/other/efs.pdf Взято отсюда: www.teslabs.com/openplayer/ Вариант исходника: mysvn.ru/avr/examples/efs/EFS.cpp
@leoned1797
@leoned1797 3 жыл бұрын
в прошлом году кое как заставил работать FATFS..это был мой первый проект после дерганья ножкой)
@aabdev
@aabdev 2 жыл бұрын
Какую файловую систему выбрать для организации файловой системы на NOR Flash на кристалле микроконтроллера? Чтобы был гарантированный равномерный износ nor flash, сохранение при аварийном отключении напряжения, минимальное время записи.
@smyslovov
@smyslovov 3 жыл бұрын
Некоторые алгоритмы работы с nand запатентованы. "The storage device control module is not any part of FatFs module and it needs to be provided by implementer." Для платы STM3210E-EVAL есть пример работы с nand, в нем есть и некоторые алгоритмы (STSW-STM32121)
@MaChEtE-yn5cm
@MaChEtE-yn5cm 3 жыл бұрын
спасибо за видео ! Очень помогла таблица, делаю микро модуль СКАДА на СТМ32Ф746 Диско с СД картой и пытался прикрутить ФАТФС от Чана, неделю мудохался, пока не посмотрел в таблицу и не увидел, что ФАТФС не поддерживает Ф7 серию МК. Буду выбирать из других библиотек в таблице.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
SCADA? Я всегда считал, что это программное обеспечение. А модуль то зачем, да тем более с таким жирным процессором.
@MaChEtE-yn5cm
@MaChEtE-yn5cm 3 жыл бұрын
@@VladimirMedintsev много обработки графики, мультимедиа, аудио, ГСМ
@MaChEtE-yn5cm
@MaChEtE-yn5cm 3 жыл бұрын
@@VladimirMedintsev СКАДА- это и в правду ПО, но что мешает его запихнуть в контроллер, добавив нужные функции и урезав ненужные
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
@@MaChEtE-yn5cm ну просто тогда проще взять малинку и openscada. И мудрить ничего не надо.
@MaChEtE-yn5cm
@MaChEtE-yn5cm 3 жыл бұрын
@@VladimirMedintsev сложно сказать что будет мудрее, как раз малинка будет избыточна. Я же говорю, что это не полноценная скада, а некоторое по с функциями скада, называю это микро скада.
@silentage6310
@silentage6310 3 жыл бұрын
мне кажется желание иметь одну библ на все фс это как желание иметь одну библиотеку например под все датчики влажности. довольно разные они, и задачи разные и реализации.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Вот по этой вот причине и полез искать что же есть в мире альтернативного и интересного.
@user-mz6hc5cv8x
@user-mz6hc5cv8x 3 жыл бұрын
А куда смотреть, если я хочу spi флешку(вроде 25 серии) использовать как носитель? хочу быстро передавать по quad spi туда сюда все с HS USB
@aleksdesh2755
@aleksdesh2755 3 жыл бұрын
usb msc
@user-oc7ky3sd6z
@user-oc7ky3sd6z 3 жыл бұрын
Как вариант docs.zephyrproject.org/1.14.0/reference/file_system/index.html - os zepyr
@pavelrid
@pavelrid 3 жыл бұрын
По хорошему, библиотеку для ФС надо делать свою т.к. это критическая часть любой ОС.
@pavelrid
@pavelrid 3 жыл бұрын
@@sergsapov2927 Я делал но для трайкоров, тоже ФС FAT
@pavelrid
@pavelrid 3 жыл бұрын
@@sergsapov2927 нет к сожалению, под трайкоры ничего почти в свободном доступе нет.
@pavelrid
@pavelrid 3 жыл бұрын
@@sergsapov2927 ФС привязана своей реализацией к ОС, а та к в свою очередь к МК, ФС это часть функций работы с накопителем. Сами трайкоры это 32х битные контроллеры с dsp, вики в помощь.
@aleksdesh2755
@aleksdesh2755 3 жыл бұрын
​@@pavelrid ну как же так же ничего нет? Компилятор си вполне себе был несколько лет назад. В свободном доступе действительно мало что можно найти, но под проект дают доступ к документации и инструментам в течении пары дней. А грамотно реализованная библиотека ФС крайне слабо зависит от ОС и платформы.
@pavelrid
@pavelrid 3 жыл бұрын
@@sergsapov2927 в первую очередь ФС должна поддерживать интерфейс который предлагает ОС для ФС. Поддержка структур данных ОС, конфигурации (размер кластера, тип накопителя и т.д., структура т.н. бутрекорда и т.д. структура стат инфорации о рекорде. Далее весь функционал журналирования, который используется в ФС предоставляется функциями ОС ну и тд. Про мьютексы я не особо понял, где вы их в ФС использовали)?
@chibyshev
@chibyshev 3 жыл бұрын
А как поразбираться насчет mysql через gprs без всяких get запросов?
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Вообще не так сложно как кажется. Правда опасно mysql открывать в интернет. Но то такое.
@chibyshev
@chibyshev 3 жыл бұрын
@@VladimirMedintsev на данный момент мне известна только либа MySQL_Connector, но она работает только через Ethernet и WiFi. Как то костылями её допиливал в свое время до GPRSа через SIM-900 модуль. Но до ума толком не довел, то подвисало, то на парсинге от модема запинался. Сейчас опять желание обострилось, вот ищу пути решения.
@vitalgrigoryev46
@vitalgrigoryev46 Жыл бұрын
а разве зеленая кнопка вверху справа не то?
@alexroman6246
@alexroman6246 3 жыл бұрын
вот libjpeg бы ) мне не удалось запустить, так же как и библиотеку чана. по хорошему бы функцию, которая берет файл и выплевывает bmp массив. вроде у меня даже структура заполнялась (распознавание заголовка jpeg) но там 2 функции, которые толком не работали. а файловая систему. fat легко запустилась…
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Странно libjpeg вроде простая.
@alexroman6246
@alexroman6246 3 жыл бұрын
@@VladimirMedintsevмне что то не далась... была на дисплее какая то мешанина отдаленно похожая на картинку, но с артефактами и повторениями. а учитывая что сейчас в современных устройствах нужна нормальная графика-приходится вникать. хотя в проекте который буду скоро делать с граф дисплеем, хочу освоить аппаратный jpeg в h743м и гнать jpeg через quad spi в контроллер, там расшифровывать и бросать на дисплей. так же есть идея сделать какой нибудь модуль аля ускоритель, который на плиске будет читать бинарный бмп и гнать его на дисплей по команде контроллера, чтобы можнл было использовать большие дисплеи со слабыми мк
@BesitzeRuf
@BesitzeRuf 3 жыл бұрын
Косаемо FreeRTOS-FAT - это не оно? www.realtimeengineers.com/FreeRTOS-Labs/RTOS_labs_download.html?1
@Shiover
@Shiover 3 жыл бұрын
"Сайт не открылся без торрента"..может без Тора? К стати, т.к. европейские и полосатые сайты часто закрывают доступ из России, то помогает браузер Опера. Там есть ВПН в режиме инкогнито.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Я человек не молодой в этих ваших энтернетах не разбираюсь.
@sozdatelEd
@sozdatelEd 3 жыл бұрын
сейчас во всех браузерах есть плагины VPN. я например пользуюсь Chrome. вполне устраивает
@Shiover
@Shiover 3 жыл бұрын
@@sozdatelEd, в Опере не плагин. Ну и Опера не своеволит как Хром.
@gimeron-db
@gimeron-db 3 жыл бұрын
Кажется не сайты закрывают доступ из России, а всякие РКН/РПЦ/РАО/ФСБ/АКИТ/ФСКН/ЛПЧ закрывают доступ россиян к случайным диапазонам адресов из России. Нас блокируют не снаружи, а изнутри за наши же налоги.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
@@gimeron-db В данном случае это не так. Хотя некоторым я бы голосовал за полное пожизненное отключение интернета.
@user-ed9px3cz7g
@user-ed9px3cz7g 3 жыл бұрын
Го лайки до 100 добьем?
@user-dq2ci5ln5g
@user-dq2ci5ln5g 3 жыл бұрын
гоу до 200! 👍😁🤪
I Can't Believe We Did This...
00:38
Stokes Twins
Рет қаралды 104 МЛН
تجربة أغرب توصيلة شحن ضد القطع تماما
00:56
صدام العزي
Рет қаралды 51 МЛН
Структура файлов и каталогов в Linux
20:28
Aleksey Samoilov
Рет қаралды 370 М.
Что не так с электрофорной машиной?
32:47
Павел Gen
Рет қаралды 136 М.
Samsung Galaxy 🔥 #shorts  #trending #youtubeshorts  #shortvideo ujjawal4u
0:10
Ujjawal4u. 120k Views . 4 hours ago
Рет қаралды 6 МЛН
iPhone 15 Pro в реальной жизни
24:07
HUDAKOV
Рет қаралды 314 М.
Мой инст: denkiselef. Как забрать телефон через экран.
0:54
Choose a phone for your mom
0:20
ChooseGift
Рет қаралды 7 МЛН
iPhone socket cleaning #Fixit
0:30
Tamar DB (mt)
Рет қаралды 11 МЛН
Зачем ЭТО электрику? #секрет #прибор #энерголикбез
0:56
Александр Мальков
Рет қаралды 326 М.