LINUX.ORG.RU

Есть годные библиотеки USB flash drive для embedded?

 ,


0

2

Хочется состыковать девайс с FLASH по USB, чтобы легко править конфиги и читать логи.

Все что удалось найти из простого - имплементации USB MSC HOST. Но по-моему они не заморачиваются насчет ресурса флешки, а ставить EEPROM я не хочу, там за вменяемые деньги только 64 килобайта.

Можете посоветовать годные библиотеки, которые можно было бы юзать именно с флешками (мелкими 8-выводными SPI)?

★★★★★

Ответ на: комментарий от Morin

Разве в sd card есть нормальный контроллер как в SSD? По-моему они довольно туповаты.

Ну и с размером-ценой не очень выходит. Тот случай когда будет проще 64К EEPROM.

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

эээ, холдер и сд копеечные. васянлиб по инету море для стм32, гугли, вплоть до работы с конкретными фс

Morin ★★★★
()
Ответ на: комментарий от Morin

Там уровень именно что ардуино-васянский. Типа, разик файл записали, и заебок. А то что оно на десятом разе накроется, никого не трам-пам-пам.

Собственно, я именно про ресурс и спрашиваю, как нормально сделать. Как хреново - знаю.

Vit ★★★★★
() автор топика
Ответ на: комментарий от Morin

Можешь прояснить момент с записью по кругу? Возможно я чего-то неправильно понимаю.

Вот если комп видит FAT16 - тупо набор секторов. Он будет теребонькать таблицу блоков при любой записи. Если мапить во флешку напрямую (сектор диска => блок flash), то ресурс конкретно в таблице FAT кончится очень быстро (неважно, флешка внутренняя или внешняя).

Решить проблему можно 2 способами:

  • ставить EEPROM (с большим ресурсом) и утереться насчет размера памяти
  • юзать прослойку как в контроллере SSD, которая будет снаружи прикидываться блочным девайсом, а внутри размазывать запись.

Может есть еще какие-то варианты, но я не в курсе.

Ты какой вариант предлагал?

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

если память не изменяет внутри sd есть контролешка которая занимается ротацией данных. посмотри доки, возможно велик писать не нужно. второй вариант, этим занимается драйвер который предоставляет доступ к фс, это уже велик, но его уже тоже неоднократно писали.

иными словами, посмотри, что сейчас на рынке sd карт. мне думается, что работы будет не много

Morin ★★★★
()
Ответ на: комментарий от Morin

Те исходники что нагуглил - не понравились. Там нет ротации. Поэтому тему и создал, может кто знает ссылки на хорошие проверенные варианты.

Не, я на паялке вполне нормально и в 64к EEPROM впишусь. Но интересно ж разобраться.

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

Флешка влюбом случае сдохнет. На это и закладываться. Важный минимум (аля recavery данные) в eeprom, остальное на флешку.

AlexVR ★★★★★
()
Ответ на: комментарий от Vit

Разве в sd card есть нормальный контроллер как в SSD

Не знаю насчёт как в SSD, но нормальные SD карты живут довольно долго под любой ФС, а не только под FAT, что намекает нам на наличие какого-то контроллера.

sergej ★★★★★
()
Ответ на: комментарий от Morin

Дык суть не меняется, они сектора 1:1 прокидывают на флешку, разница только в командах и протоколе. Возможно надеются что NOR-flash их пасет. Вариант рабочий, но со скрипом.

Спеку по потрохам SD я сейчас не осилю поднять. По диагонали - там упор на командах, не видел ничего про надежность.

Навскидку - наверное, если у FAT указать побольше копий, то может прокатить для не сильно активного использования.

Vit ★★★★★
() автор топика
Ответ на: комментарий от aol

Там чувак изобретает Васян-FS. А мне надо именно FAT, это к сожалению единственное, что взлетит абсолютно везде без драйверов. Иначе бы взял нормальную файловую систему и не уродовался.

Vit ★★★★★
() автор топика
Ответ на: комментарий от sergej

«довольно долго» - понятие очень растяжимое. Есть какие-нибудь измерения с цифрами? Контроллер там безусловно есть, но вот очень не уверен насчет ротации блоков. Не нарыл пока явных упоминаний.

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

Есть какие-нибудь измерения с цифрами

Там всё не однозначно.Зависит от многого. Есть SD с количеством циклов записи-стирания 2000 а есть 100 000. Восток-дело тонкое… https://almois.ru/sd-karta-endurance-mlc-2018/

SergeySVold ★★★★
()
Последнее исправление: SergeySVold (всего исправлений: 1)
Ответ на: комментарий от Vit

Ну у меня лет 5 уже живёт на ext4, которая о флеше не знает примерно ничего.

там home-assistant скидывает инфу раз в 5 минут примерно записей по 20.

  • ещё куча сервисов типа почты, nextcloud + mariadb.

производители врядли будут что-то внятное писать.

sergej ★★★★★
()
Ответ на: комментарий от sergej

По-моему по ext4 судить о fat16 не очень корректно, хотя результат несомненно интересный.

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

ну ты же сам пишешь, что тебе требуется фат, для совместимости с обычным железом. ну тогда нет смысла велосипедить свой особый драйвер под фс. оставайся на фат и надейся что контрошка хорошо прикидывается блочным устройством и аккуратно помечает страницы для последующей перезаписи

anonymous
()

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

Если нужно надёжнее, то советую FRAM или MRAM. По интерфейсу похожи на Dataflash, но заявлен неограниченный ресурс. Шикарная штука.

Beewek ★★
()
Ответ на: комментарий от Beewek

Если нужно надёжнее, то советую FRAM или MRAM. По интерфейсу похожи на Dataflash, но заявлен неограниченный ресурс. Шикарная штука.

У доступных пока с размером не очень. Я искренне надеюсь, что эта технология в ближайшие 10 лет полностью вытеснит флеш, но жить надо сейчас и юзать то что есть. А из «доступного» пока только eeprom на 64 килобайта и разные виды флешек на 1-8 мегабайт.

Под доступным я подразумеваю каталог LCSC. То что можно заказать сразу с платой, не отрывая зад от стула. Это важно, если проект не для себя лично, а для массового повторения.

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

В том-то и проблема. Если без гарантий - проще NOR flash воткнуть и не париться.

Я пока склоняюсь к втыканию i2c eeprom на 64 килобайта. Этого хватит чтобы держать там конфиг и несколько логов температуры reflow-паялки. Хотелось бы конечно «поинтереснее». Но это больше любопытство, чем реальная необходимость.

Vit ★★★★★
() автор топика
Последнее исправление: Vit (всего исправлений: 1)
Ответ на: комментарий от Vit

Под доступным я подразумеваю каталог LCSC

Ну вроде есть там FRAM: https://lcsc.com/products/FRAM_504.html

хватит чтобы держать там конфиг и несколько логов температуры reflow-паялки.

Для логов лучше чем sd-карточка ничего не придумать. Дёшево и сердито, к тому же пользователь сам выбирает и сам может заменить.

Beewek ★★
()
Ответ на: комментарий от Beewek

Ну вроде есть там FRAM

Угу. Размер и цену посмотри. Даже EEPROM дешевле выйдет на порядок.

Для логов лучше чем sd-карточка ничего не придумать. Дёшево и сердито, к тому же пользователь сам выбирает и сам может заменить.

В моем конкретном девайсе сменные карточки неуместны. Если в природе есть какая-то клевая фича, это не значит что ее нужно тащить везде подряд.

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

Угу. Размер и цену посмотри. Даже EEPROM дешевле выйдет на порядок.

Доллар за 64К - это много? Мне почему-то кажется, что для одиночного любительского устройства это мелочи. Или же я неверно понял идею.

В моем конкретном девайсе сменные карточки неуместны.

Ну тут ты в своём праве :-)

Beewek ★★
()
Ответ на: комментарий от Beewek

Доллар за 64К - это много? Мне почему-то кажется, что для одиночного любительского устройства это мелочи. Или же я неверно понял идею.

Там в килобитах. Килобайты это 512К. А это уже 5 долларов.

И таки да, доллар за второстепенную фанбойскую фичу, которая нужна не всем - это напряжно. Такие фичи хорошо когда совсем дармовые.

EEPROM в 30 центов обошелся. Так себе, но сойдет.

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

Абсолютно везде без драйверов взлетит непосредственная запись в устройство. Потом тупо при помощи dd списываешь в файл и смотришь. Или можно писать по аналогии с tar.

Но vfat заводить в микроконтроллер — как-то слишком жирно. Если уж так хочется ФС, есть ведь специальные разработки для МК, где нет ничего этого ненужного (в т.ч. древовидной структуры директорий: все файлы лежат в корне, директорий нет вообще). И права доступа там не нужны, как и атрибуты файлов.

anonymous
()
Ответ на: комментарий от Vit

А вообще, судя по твоим темам о STM32, ты занимаешься офигительной херней!

Брось уже калокуб и этот абдуринский подход, и делай все по-человечески!

anonymous
()
9 мая 2020 г.

У меня очередное озарение :). Конкретно под конфиг и логи можно сделать ДВА диска:

  1. Под конфиг (read/write) лепим совсем мелкий, на 2-4К, мапим прямо в память. Чуть жруче, но снимает все вопросы с записью.

  2. Под логи (read only) делаем «emulated fat», и генерим содержимое на лету. Заодно можно с ротацией контента похимичить.

Vit ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.