EdgeAligned 84 3 августа Опубликовано 3 августа · Жалоба ...а некоторые продвинутые микроконтроллеры имеют двухбанковую флеш, второй банк которой используется для загрузки и хранения прошивки, пока МК работает из рабочего банка. Затем банки переключаются и прошивка обновляется безболезненно, причем с возможностью быстрого отката на предыдущую. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 78 3 августа Опубликовано 3 августа · Жалоба В 03.08.2024 в 22:51, EdgeAligned сказал: ...а некоторые продвинутые микроконтроллеры имеют двухбанковую флеш, второй банк которой используется для загрузки и хранения прошивки, пока МК работает из рабочего банка. Затем банки переключаются и прошивка обновляется безболезненно, причем с возможностью быстрого отката на предыдущую. Это вы описываете какие-то высоконадежные контроллеры. А на обычных контроллерах всё элементарно делается на флэш с посекторным стиранием, просто в начало записывается бутлоадер и никаких проблем - записывай сколько влезет копий программы и переключай на любую. В 31.07.2024 в 20:17, Segment сказал: Хотелось бы послушать советы embedded разработчиков, и не обязательно супер экспертов. бесполезное занятие - у каждого свои требования, сколько вариантов накопителей, столько и мнений) Лучше напишите свою задачу, тогда можно осмысленно обсудить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 84 4 августа Опубликовано 4 августа · Жалоба Ну если старенький STM32F429 или даже STM32F407 считать высоконадежным, то таки да 🙂 2 МБ (1 МБ) флеша разделены на два идентичных банка. Пока код работает из одного банка, в другой грузится обновление. Затем после проверки целостности переключаем банки и работает вторая прошивка. Если с ней что-то не так, просто переключаемся обратно на предыдущий банк. "Высоконадежно" 🙂 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 84 4 августа Опубликовано 4 августа · Жалоба Автор в общих чертах и описал свою задачу - некие датчики собирают данные, логи, затем по запросу выдают их куда-то вовне. Так же есть пользовательские настройки и возможность обновления прошивки МК. Однако, в опросе автор сделал упор вообще на файловую систему. Как вариант, если накапливаемые данные не слишком велики, их можно вообще хранить в SRAM микроконтроллера. Поскольку устройство, скорее всего, с батарейным питанием. Пользовательские настройки можно хранить во встроенной ЕЕПРОМ (при её наличии). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 60 4 августа Опубликовано 4 августа · Жалоба Если носитель не съемный, как, например SD карта, то файловая система вообще не нужна. Файловая система нужна, если данные пишутся на SD карту и эту карту потом втыкаем в компьютер для считывания данных. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amaora 24 4 августа Опубликовано 4 августа (изменено) · Жалоба 1 hour ago, dimka76 said: Файловая система нужна, если данные пишутся на SD карту и эту карту потом втыкаем в компьютер для считывания данных. ФС это слой абстракции для хранения данных, не обязательно она должна быть распространённой и с чем-то совместимой. На верхний уровень даёт работу с непрерывными блоками данных (файлами) а на нижнем уровне разбирается с конкретным носителем, куда записать новые данные, как потом их читать, когда и как стирать секторы flash, делать выравнивание износа и т.д. Требования к ФС в разных случаях разные, бывают примитивные, но это все равно можно назвать ФС. Изменено 4 августа пользователем amaora Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 4 августа Опубликовано 4 августа · Жалоба 21 час назад, HardEgor сказал: Лучше напишите свою задачу, тогда можно осмысленно обсудить. Примерно я ее описал в первом сообщении. Но если чуть более детально, то есть возможность поставить либо nand, либо nor чтобы поверх обернуть чем-то достаточно надежным и простым в обработке, на десяток мегабайт. Мне не обязательно, чтобы формат файловой системы был с чем-то совместим (например, с тем же fat32). При этом мне не особо и нужны директории и файлы, вероятно будет достаточно что-то вроде ключ-значение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 84 5 августа Опубликовано 5 августа · Жалоба NOR лучше и быстрее работает с произвольным доступом, но стоимость байта памяти выше, чем у NAND. В вашем случае, как я понимаю, произвольный доступ к отдельным ячейкам не требуется. Как впрочем и большой емкости тоже не требуется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Priest_89 8 5 августа Опубликовано 5 августа · Жалоба Ответ на вопрос ТС фактически зависит от 2 факторов: объем сохраняемых данных и период их сохранения/перезаписи. Скажем, сохранять 100 байт раз в 10 минут или раз в неделю. Или 100 килобайт раз в 10 миллисекунд. Считаем максимальный объем хранимых данных, исходя из этого выбираем память - если объем сотня мегабайт и больше - NAND flash напрямую или в виде SD карты. Если меньше - NOR flash. Если объем единицы-десятки килобайт, но частая перезапись - EEPROM или ее эмуляция на NOR-flash (можно и на встроенной в контроллер). Если период перезаписи нужен очень маленький - можно рассмотреть MRAM. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
turnon 1 6 августа Опубликовано 6 августа · Жалоба После долгих мытарств только такой подход считаю надежным. Кольцевой буфер на NOR Flash. Перепробовал множество файловых систем, в том числе с журналированием и выравниванием износа. Хранить в FatFS - это для одноразовой записи, хранение логов протрет дырку в секторе флеша. MicroSD вообще не рассматриваю из-за разьема, непредсказуемой надежности карточек и высокой цены качественных. Разве что для пользовательского взаимодействия - вставил карточку, что-то сделало, вынял. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 10 августа Опубликовано 10 августа · Жалоба В 06.08.2024 в 10:44, turnon сказал: MicroSD вообще не рассматриваю из-за разьема Я еще видел SD карты в корпусе smd, как насчет них? Или тот же eMMC? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kochevkv 1 11 августа Опубликовано 11 августа · Жалоба 18 hours ago, Segment said: Я еще видел SD карты в корпусе smd, как насчет них? Или тот же eMMC? Это где такие водятся? И если вы их называете SD карты, то это 4 битный параллельный канал данных, а eMMC я видел обычно 8 бит. Но суть одна - NAND с контроллером интерфейса и, возможно, контроллером износа ячеек. Из плюсов - простота использования и объем. Минусом такого решения может стать необходимость выделения буфера примерно на 0.5...1 секунду записи данных, что нужно при непрерывной записи данных (т.к. контролллер флешки иногда чем-то занимается во время записи), а если там еще и обертка из файловой системы, то надо еще учесть задержки на поиск системой свободных кластеров при фрагментации (это для FAT32, может есть более быстрые ФС). Для ПК буфер не проблема, а вот в контроллере может и не быть несколько лишних сотен килобайт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 12 августа Опубликовано 12 августа · Жалоба 19 часов назад, kochevkv сказал: Это где такие водятся? Я про что-то подобное https://www.lcsc.com/datasheet/lcsc_datasheet_2207051415_MK-MKDV8GIL-AS_C379094.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kochevkv 1 12 августа Опубликовано 12 августа (изменено) · Жалоба 1 hour ago, Segment said: Я про что-то подобное https://www.lcsc.com/datasheet/lcsc_datasheet_2207051415_MK-MKDV8GIL-AS_C379094.pdf Да, по описанию обычная SD карта в корпусе микросхемы. Спасибо за даташит, я на такие не натыкался Изменено 12 августа пользователем kochevkv Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться