реклама на сайте
подробности

 
 
> Разрушение FAT (в FatFs)
Allregia
сообщение Feb 10 2016, 15:53
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Странно ведет себя один приорчик на F407, FatFs R0.09, 2011г.
Пишется стрим на флешку, примерно гигабайт в час.
Запись разбита на "1 файл = пол часа".
Т.е. пол часа пишется в tmp файл, потом он переименовывается в реальное имя с номером, и дальше опять пишется в tmp файл.
Между файлами делается unmount/mount, проовали даже питание флешки выключать/ и включать снова.
И все как бы было ОК, пока мы писали свой стрим по часу-два. Все работало идеально, флешки в основном исползовали 2-4ГБ, иноогда 8ГБ

А когда попробовали писать подольше да на флешках 8-16ГБ - видим проблему, появляющуюся примерно через 5-6 часов. Девайс продолжает писать, но если его остановить, то флешка уже не читается, фат разрушена, в итоге -> ее под format.

Все вызываемые функции FatFs - с проверкой, что FR_ОК возвращается если нет - сообщение на дисплей.
И там ничего! Девайс может 10-14 часов писать (на 16ГБ флешку), потом его останавливешь - и всё, выяснить когда чего произошло уже не получается.
У нас с напарником (код исходной мой, 4-х летней давности, но сейчас он с этим девайсом возится) уже все мысли кончились, не только по тому как найти баг, но и вобще в каком направлении поисков двигаться! Ну разве что, попробовать поставить послеледнюю версию FatFs?

Ну не может же такого быть, чтобы если по какой-то причине слетел фат, что при этом все функции f_open, f_close, f_write, f_rename, f_mount возвращают FR_OK?!

Ни у кого небыло ничего подобного? Или мож кто чего умного подскажет, как дальше искать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
редактор
сообщение Feb 12 2016, 12:33
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 9-06-07
Пользователь №: 28 315



Цитата
ЧЕМ через 5 часов, "ЭТО", отличается от самого первого включения

тем что системное время насчитало 5 часов работы - может сбой в отсчете времени и как следствие проблемы с файлами?


--------------------
Хорошую систему делают из стандартных блоков нестандартно мыслящие инженеры.
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение Feb 15 2016, 11:41
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(редактор @ Feb 12 2016, 13:33) *
тем что системное время насчитало 5 часов работы - может сбой в отсчете времени и как следствие проблемы с файлами?

Эту тему я поддержу.
Насколько мне помнится, в FatFS есть циклы и таймауты в них. Последние должны реализовываться так, чтобы можно было прервать эти циклы, то есть, работать от прерываний и модифицировать флаги/переменные, анализируемые в циклах внутри FatFS. Например, в моей системе, которая есть синхронная round robin по типу protothreads, я вынужден был ответвиться от обработчика SystemTick, чтобы модифицировать то, что нужно для FatFS. Как раскрыта тема в системе у ТС? Может срабатывает какой-то таймаут раньше времени, потому что, например, 5 часов это 18000 секунд, а это около 16K, а если в 10мс тиках, то это 18мио тиков, что есть около 24-битного числа (а SysTick - это 24 бита). Это я выдаю нагорА всякий бред, но может что войдет в резонанс в голове у ТС...

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Allregia   Разрушение FAT (в FatFs)   Feb 10 2016, 15:53
- - Ruslan1   Цитата(Allregia @ Feb 10 2016, 17:53) Ни ...   Feb 10 2016, 21:01
|- - Allregia   Цитата(Ruslan1 @ Feb 10 2016, 22:01) 0. п...   Feb 11 2016, 15:59
|- - mantech   Цитата(Allregia @ Feb 11 2016, 18:59) 2: ...   Feb 11 2016, 21:00
|- - Allregia   Цитата(mantech @ Feb 11 2016, 22:00) Попр...   Feb 12 2016, 08:20
|- - Alechek   Цитата(Allregia @ Feb 12 2016, 13:20) ЧЕМ...   Feb 12 2016, 09:23
|- - Allregia   Цитата(Alechek @ Feb 12 2016, 10:23) Маги...   Feb 12 2016, 11:18
- - e-serg   Цитата(Allregia @ Feb 11 2016, 00:53) Или...   Feb 11 2016, 02:37
- - ViKo   Попробуйте записывать намного чаще. Наверное, дожд...   Feb 12 2016, 11:41
|- - Ruslan1   Все-таки попробуйте логическим анализатором, подкл...   Feb 12 2016, 12:21
|- - Alechek   Цитата(редактор @ Feb 12 2016, 17:33) тем...   Feb 12 2016, 12:35
|- - Allregia   Коллеги, большое спасибо за продолжение обсуждения...   Feb 22 2016, 18:21
|- - aaarrr   Цитата(Allregia @ Feb 22 2016, 21:21) Наш...   Feb 22 2016, 19:00
|- - Allregia   Цитата(aaarrr @ Feb 22 2016, 20:00) Попро...   Feb 23 2016, 17:58
- - редактор   ЦитатаУвеличить частоту системного времени? Для на...   Feb 15 2016, 08:54
- - Alechek   Проверяется флешка другими средствами : h2testw   Feb 25 2016, 10:12
- - khach   Если на плате есть кроме карnы большая SPI флеш-па...   Feb 25 2016, 11:55
- - Сергей Борщ   Мне кажется aaarrr правильно угадал - 4Гб это огра...   Feb 25 2016, 12:07
|- - khach   Цитата(Сергей Борщ @ Feb 25 2016, 15:07) ...   Feb 25 2016, 13:52
|- - mantech   Цитата(khach @ Feb 25 2016, 16:52) А вот ...   Feb 25 2016, 17:56
- - Allregia   Я даже не сомневаюсь, что проблема не в FatFs а в ...   Feb 25 2016, 20:33
- - alexen   Allregia Если у вас используется пример от ST с фа...   Mar 12 2016, 00:40
- - lleeloo   Есть предположение, что в какой-то части кода есть...   Mar 13 2016, 20:26


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 22:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01383 секунд с 7
ELECTRONIX ©2004-2016