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

 
 
> FATFS, удаление файла
esaulenka
сообщение Nov 13 2013, 17:33
Сообщение #1


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

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Имеем систему:
STM32
ST'шный USB стек
FatFs 0.09 / 0.10 (пробовали обе).

Сия система замечательно читает файлы с USB-флешки, и так же замечательно их дописывает. Файловая система - FAT32 (честно говоря, затрудняюсь сказать, проверяли ли на FAT16).

Но при попытке сделать f_truncate() или f_unlink() почему-то портится FAT. Судя по тому, что запись файлов работает (в т.ч. в десятки мегабайт), с FAT'ом оно работает всё-таки правильно.

Кто-нибудь сталкивался с таким?

Детально проблему пока не исследовал, руки не дошли. А высокоуровневому программисту, который эти f_truncate() дёргает, не до изучения дампов FAT'а - у него своих проблем предостаточно.


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
Tarbal
сообщение Nov 14 2013, 02:03
Сообщение #2


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

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(esaulenka @ Nov 13 2013, 21:33) *
Имеем систему:
STM32
ST'шный USB стек
FatFs 0.09 / 0.10 (пробовали обе).

Сия система замечательно читает файлы с USB-флешки, и так же замечательно их дописывает. Файловая система - FAT32 (честно говоря, затрудняюсь сказать, проверяли ли на FAT16).

Но при попытке сделать f_truncate() или f_unlink() почему-то портится FAT. Судя по тому, что запись файлов работает (в т.ч. в десятки мегабайт), с FAT'ом оно работает всё-таки правильно.

Кто-нибудь сталкивался с таким?

Детально проблему пока не исследовал, руки не дошли. А высокоуровневому программисту, который эти f_truncate() дёргает, не до изучения дампов FAT'а - у него своих проблем предостаточно.

Были под ДОС еще Нортон ютилитис. Там был диск доктор, который искал проблемы ФАТ партишна и чинил их. Поищите что-нибудь подобное. Если мне надо было бы решать подобную задачу, то я бы взял образы диска (достаточно начала: две таблицы ФАТ и структуру директории) до и после удаления и сравнил бы их при помощи Beyond Compare.
По результатам проверки смотрел бы как быть дальше. Кстати можно сделать маленький партишн и пробовать на нем. Тан все будет маленькое.

Сообщение отредактировал Tarbal - Nov 14 2013, 02:04
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Nov 14 2013, 13:41
Сообщение #3


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (esaulenka @ Nov 14 2013, 02:33) *
Но при попытке сделать f_truncate() или f_unlink() почему-то портится FAT.

У меня f_unlink работает. Как на юсб-флешке, так и на дата-флеше.
Может быть у вас дело в драйверах? Они 100% работают правильно?
Вообще фатфс зарекомендовала себя как надёжная система во всём мире, хотя и не без косяков и неоднозначностей. Но явных багов там вроде пока нет rolleyes.gif


--------------------
Выбор.
Go to the top of the page
 
+Quote Post

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

 


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


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