|
stm32 и FatFs от Chan |
|
|
|
Mar 30 2017, 02:04
|
Участник

Группа: Участник
Сообщений: 50
Регистрация: 7-06-05
Пользователь №: 5 797

|
Здравствуйте, Уважаемые коллеги. Снова нуждаюсь в Ваших подсказках. Наконец-то подключил файловую систему от Чана и решил её опробовать. Версия R0.11 от 02-02-2015. Пробую открыть файл и дописать в его конец данные: Код f_open(&MyFile, "stm32.txt", FA_WRITE | FA_OPEN_ALWAYS); f_lseek(&MyFile, f_size(&MyFile)); f_write(&MyFile, wtext, strlen((char *)wtext), &wbytes); По описанию, FA_OPEN_ALWAYS должна открывать файл, если он есть и создавать если его нет. Код выполняется, но: - если такой файл уже есть, то очень быстро, менее 1с. - если файла нет, то f_open и f_lseek срабатывают быстро, а вот f_write - долго, примерно минута. файл с данными появляются. С чем это может быть связано? Куда "копать"? _FS_NORTC пробовал (время не организовывал). портирование от Domen Puncer, немного переделал. Спасибо.
|
|
|
|
|
 |
Ответов
|
Oct 16 2017, 18:36
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 27-01-17
Пользователь №: 95 184

|
Лог на sdram особо не в счет - питания нет 3 секунды, ионистор отрубаетмя, и лога тоже нет. А так вполне себе мажоритирование 2 из 3. Бывает и 4 из 5). На фраме не лог, а основная инфа, а логи-все действия извне, чтобы в случае отказа повторить/смоделировать ситуацию и внести правки. Потерять их очень нежелательно. Программа, конечно, может глюкпнуть, вон ракеты падают. Дтскутировать о методах оценки надежности ПО можно долго.
Сообщение отредактировал Hold - Oct 16 2017, 18:42
|
|
|
|
|
Oct 16 2017, 20:23
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(Hold @ Oct 16 2017, 21:36)  Лог на sdram особо не в счет - питания нет 3 секунды, ионистор отрубаетмя, и лога тоже нет. А так вполне себе мажоритирование 2 из 3. Бывает и 4 из 5). На фраме не лог, а основная инфа, Опять-же не понятно, что такое "основная инфа", это то, что задано в конфигурации или эта инфа создается в процессе работы устр-ва? Если первое - то логичнее эту инфу держать на СДшке, если второе - то это то же самое, что и лог. Из своего опыта - сделана куча автоматов с логом на единственную СД-карту - из сотни один, макс. 2 отказа и то, по причине банальной жадности, рекомендовали ставить "кингстон", а клиенты решили сэкономить и поставили "смартбай" или еще что-то. В охранках дублирование на 24хх серии i2c епромах - ни одного отказа, даже на г..но картах.
|
|
|
|
|
Oct 17 2017, 03:58
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 27-01-17
Пользователь №: 95 184

|
Цитата(mantech @ Oct 17 2017, 03:23)  Опять-же не понятно, что такое "основная инфа", это то, что задано в конфигурации или эта инфа создается в процессе работы устр-ва? Если первое - то логичнее эту инфу держать на СДшке, если второе - то это то же самое, что и лог.
Из своего опыта - сделана куча автоматов с логом на единственную СД-карту - из сотни один, макс. 2 отказа и то, по причине банальной жадности, рекомендовали ставить "кингстон", а клиенты решили сэкономить и поставили "смартбай" или еще что-то. В охранках дублирование на 24хх серии i2c епромах - ни одного отказа, даже на г..но картах. Основная инфа - данные, которые создаются в процессе работы, проходят сквозь аппарат. За день может пройти до 3-4 Гб. Флеш бы может выдержал какое-то время, но рано или поздно начнутся ошибки.
|
|
|
|
|
Oct 17 2017, 09:58
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 27-01-17
Пользователь №: 95 184

|
Цитата(jcxz @ Oct 17 2017, 15:45)  А какова природа этих данных? Что это? Для чего нужно столько гиг? Просто интересно.... И если действительно нужно по несколько гиг в день, то может реально лучше использовать SSD или HDD? Фрам всего 512К, однако обновляться они могут по сотне и более раз на дню. На карту эти данные ВООБЩЕ не скидываются, только логи внешних воздействий. Чтобы представить аналогию: Загоняете машину в сервис. В лог пишется заказ-наряд - Иванов И.И. такого то числа, в такое то время загнал свой пепелац, с жалобами, что в машине что-то стучит, назад не едет, и не включается радио Радонеж. Мастер приемщий такой-то и прочая сопуствующая инфа, типа погода нелетная, слоны идут на север. Передают машину сервис-менам, и они уже детально пишут во FRAM - заменя ремня ГРМ, роликов натяжителя, регулировки такие-то, замена радиоприемника и еще сотня другая различных технчиеских штук, которые полностью и детально описывают что делают и происходит, включая видео-запись всего процесса ремонта, хотя самому Иванову на это пофиг, ему важно знать когда забрать и сколько заплатить. А теперь представим что таких Ивановых в день приходит пара тысяч, вместимость автосервиса(FRAM) десять тысяч и не все Ивановы сразу забирают авто, а некоторые так вообще забывают, и висят они во FRAM мертвым грузом, пока эвакуатор не увезет на штрафстоянку. Затем в сервисе отключается свет, ИБП отрубается, и когда включается, оказывается что не все менеджеры успели сохранить открытый заказ наряд(лог), сервисмены сделали часть работ, но не успели внести изменения в сервис-лист(FRAM). Под вечер приходит Иванов, забирать своё авто, а ему не могут внятно сказать что сделали, что не успели, и где вообще его авто, т.к. не успела сохраниться позиция рабочей станции. Иванов грустит, затем злится, и звонит руководителю, а тот нам, мол почему такая херня. Иванову#2 повезло больше, свет не отрубался, менеджеры выставили счет, на основе реально проведенного списка работ (FRAM), закрыли заказ наряд (лог), однако тот отчего-то топчет ножкой и возмущается "чойтадорога". Ему на фирменном бланке с печатями и подписями выкладывают детальную секундно/поминутную отчетность по работам(FRAM), видео на котором чумазые работяги снимали колесо вместо 1 часа все 4, т.к. Иванов#2 не дал секретку. Иванов не верит, просит показать видео с другой камеры, и показания свидетелей (резервная копия FRAM). И такую информацию ему предоставляют. Иванов возмущается, но платит, т.к. против фактов не попрешь. В какой-то момент менеджеры начинают думать - а давайте сделаем историю обслуживания каждого авто (вспоминаем про проходимость в количественных значениях). Директор, пожимая плечами говорит - а чего нет, вон вам комната(СД карта), делайте картотеку. Менеджеры радостно начинают таскать туда всю инфу об авто (вспоминаем про максимальную детализацию, включая видео). Приходится нанимать еще столько же менеджеров просто на доставку всей кипы бумаг, да и комната стремительно заполняется. Когда комната заполняется, приходится всю старую инфу просто выкидывать. Директор говорит - нафиг такое счастье, вся станция только и делает что таскает бумаги, храните только текущую инфу с рабочей станции, а при поступлении нового авто затирайте поверх. В это время ген-дир всей сети, попивая кофеек на карибах, решает глянуть, как там дела в одном из его отделений. Заходит на страничку (FTP/HTTP), смотрит краткую инфу(логи), т.к. он не отличит карбюратор от кардана и дальше довольно нежится на лазурном бережке. P.S. Прошу прощения за стиль, у дочки день рожденья)
|
|
|
|
|
Oct 18 2017, 02:20
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 27-01-17
Пользователь №: 95 184

|
Цитата(jcxz @ Oct 18 2017, 00:04)  Всё описанное - это функции компа (сервера) этой СТО. И решается очень просто. Причём тут ваше устройство? Или вы такой сервер пытаетесь на STM32 реализовать? Но зачем???  Не воспринимайте всё буквально) просто есть кучка важных данных, которые надо хранить, возможно несколько месяцев, но в некоторых случаях они могут часто перезаписываться вновь поступаемыми данными. Что бы вы выбрали в качестве энергонезависимого надежного носителя для часто обновляемых данных? Фрамка подходит как нельзя лучше. Вечный ресурс, мгновенная запись на скорости клока, побайтовый доступ.
|
|
|
|
Сообщений в этой теме
Ioann_II stm32 и FatFs от Chan Mar 30 2017, 02:04 Genadi Zawidowski три вопроса:
0) почему не последняя версия?
1) поч... Mar 30 2017, 07:36 MiklPolikov Цитата(Ioann_II @ Mar 30 2017, 05:04) С ч... Mar 30 2017, 16:54 Ioann_II 0) почему не последняя версия?
Версия та, что была... Mar 30 2017, 23:57 MiklPolikov Цитата(Ioann_II @ Mar 31 2017, 02:57) Пол... Mar 31 2017, 06:31  Ioann_II Цитата(MiklPolikov @ Mar 31 2017, 09:31) ... Mar 31 2017, 07:41   jcxz Цитата(Ioann_II @ Mar 31 2017, 09:41) Воп... Mar 31 2017, 09:02    Ioann_II Цитата(jcxz @ Mar 31 2017, 12:02) Если по... Mar 31 2017, 11:56   MiklPolikov Цитата(Ioann_II @ Mar 31 2017, 10:41) Пох... Mar 31 2017, 12:23    Ioann_II Цитата(MiklPolikov @ Mar 31 2017, 15:23) ... Mar 31 2017, 14:15     Шаманъ Цитата(Ioann_II @ Mar 31 2017, 17:15) При... Mar 31 2017, 14:40 jcxz Цитата(Ioann_II @ Mar 31 2017, 01:57) Пол... Mar 31 2017, 06:37 Genadi Zawidowski ЦитатаТаймауты сделаны без таймеров.
Это где? Там ... Mar 31 2017, 14:34 Rash Потеря скорости и времени будет, если писать по 82... Mar 31 2017, 19:47 Ioann_II Отформатировал карту.
Записал большой объём данных... Apr 1 2017, 10:21  jcxz Цитата(Ioann_II @ Apr 1 2017, 12:21) Выво... Apr 1 2017, 13:23   Ioann_II Цитата(jcxz @ Apr 1 2017, 16:23) Ещё врод... Apr 1 2017, 14:42 Hold На обычной SD 2 ГБ емкостью получал скорости запис... Oct 12 2017, 07:10 mantech Цитата(Hold @ Oct 12 2017, 10:10) Если пи... Oct 12 2017, 12:05  Огурцов Цитата(mantech @ Oct 12 2017, 12:05) Это ... Oct 13 2017, 05:35   mantech Цитата(Огурцов @ Oct 13 2017, 08:35) а та... Oct 13 2017, 07:43    Огурцов Цитата(mantech @ Oct 13 2017, 08:43) Дак ... Oct 13 2017, 17:16 Hold Нашел карту SDHC 4 класс 8 ГБ. Или что-то с картой... Oct 13 2017, 04:46 Ruslan1 Цитата(Hold @ Oct 13 2017, 06:46) Читает/... Oct 13 2017, 08:20  jcxz Цитата(Ruslan1 @ Oct 13 2017, 11:20) В об... Oct 13 2017, 15:51   Hold Цитата(jcxz @ Oct 13 2017, 22:51) У автор... Oct 16 2017, 09:37    Ruslan1 Цитата(Hold @ Oct 16 2017, 11:37) Как име... Oct 16 2017, 10:00    jcxz Цитата(Hold @ Oct 16 2017, 12:37) Как име... Oct 16 2017, 10:19    mantech Цитата(Hold @ Oct 16 2017, 12:37) Там и т... Oct 16 2017, 13:13     sadat Цитата(mantech @ Oct 16 2017, 16:13) Если... Oct 16 2017, 15:08      mantech Цитата(sadat @ Oct 16 2017, 18:08) У ФМ-к... Oct 16 2017, 15:25     Огурцов Цитата(mantech @ Oct 16 2017, 13:13) Если... Oct 16 2017, 15:36      mantech Цитата(Огурцов @ Oct 16 2017, 18:36) в на... Oct 16 2017, 16:38       Огурцов Цитата(mantech @ Oct 16 2017, 16:38) Хоти... Oct 16 2017, 20:39 Hold Да, дело было в размере кластера. Флешку не формат... Oct 13 2017, 09:19 Ruslan1 Цитата(Hold @ Oct 13 2017, 11:19) Понятно... Oct 13 2017, 09:41 Hold У меня интерес по поводу скорости был скорее акаде... Oct 13 2017, 09:51 Ruslan1 Цитата(Hold @ Oct 13 2017, 11:51) решил г... Oct 13 2017, 10:14  mantech Цитата(Ruslan1 @ Oct 13 2017, 13:14) влож... Oct 13 2017, 14:07 Hold На будущее запомню, однако не думаю что сейчас с н... Oct 16 2017, 12:50 Hold На FM25V10 в количестве 4х штук лежит критически в... Oct 16 2017, 17:56 mantech Цитата(Hold @ Oct 16 2017, 20:56) На FM25... Oct 16 2017, 18:21   mantech Цитата(Hold @ Oct 17 2017, 06:58) За день... Oct 17 2017, 08:01     sadat Цитата(Hold @ Oct 17 2017, 12:58) Фрам вс... Oct 17 2017, 10:36     Огурцов Цитата(Hold @ Oct 17 2017, 09:58) Фрам вс... Oct 17 2017, 18:55 Hold Ставить серьезные диски ради 512К (по факту их там... Oct 18 2017, 11:38 mantech Цитата(Hold @ Oct 18 2017, 14:38) Ставить... Oct 18 2017, 13:14 Hold Кэши(зеркало) удобнее читать чем тянуть байты из A... Oct 18 2017, 16:52 mantech Цитата(Hold @ Oct 18 2017, 19:52) Кэши уд... Oct 18 2017, 17:08 Hold Эти самые резервные копии через фтп верхнее ПО раз... Oct 18 2017, 17:15 mantech Цитата(Hold @ Oct 18 2017, 20:15) Эти сам... Oct 18 2017, 17:26  sadat Цитата(mantech @ Oct 18 2017, 20:26) ... Oct 18 2017, 17:46   mantech Цитата(sadat @ Oct 18 2017, 20:46) Думаю,... Oct 18 2017, 17:52    sadat Цитата(mantech @ Oct 18 2017, 20:52) В сл... Oct 18 2017, 17:56     mantech Цитата(sadat @ Oct 18 2017, 20:56) Иногда... Oct 18 2017, 18:06 jcxz Цитата(Hold @ Oct 18 2017, 20:15) Эти сам... Oct 19 2017, 06:48 Hold Сливаются копии FRAM а не прошивка. Но да, прошивк... Oct 18 2017, 17:41 mantech Цитата(Hold @ Oct 18 2017, 20:41) Бэкап f... Oct 18 2017, 17:47  sadat Цитата(mantech @ Oct 18 2017, 20:47) И ча... Oct 18 2017, 17:49 Hold Питания ионистора хватает на то, чтобы несколько р... Oct 18 2017, 18:06 Hold Не буду особо ничего опровергать, скажу лишь, что ... Oct 19 2017, 09:16 jcxz Цитата(Hold @ Oct 19 2017, 12:16) Не буду... Oct 19 2017, 09:39 Hold Атомарность, он же совместный доступ, обеспечивает... Oct 24 2017, 15:14 jcxz Цитата(Hold @ Oct 24 2017, 18:14) Атомарн... Oct 25 2017, 08:29  mantech Цитата(jcxz @ Oct 25 2017, 11:29) Т.е. - ... Oct 25 2017, 09:21 uriy На STM32F407 сделал mass storage in ram. Выделил 6... Oct 25 2017, 13:16 Hold Признаться да, такой защиты у меня нет, новые данн... Oct 25 2017, 16:01 jcxz Цитата(Hold @ Oct 25 2017, 19:01) Признат... Oct 26 2017, 06:18
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|