esaulenka 7 13 ноября, 2013 Опубликовано 13 ноября, 2013 · Жалоба Имеем систему: STM32 ST'шный USB стек FatFs 0.09 / 0.10 (пробовали обе). Сия система замечательно читает файлы с USB-флешки, и так же замечательно их дописывает. Файловая система - FAT32 (честно говоря, затрудняюсь сказать, проверяли ли на FAT16). Но при попытке сделать f_truncate() или f_unlink() почему-то портится FAT. Судя по тому, что запись файлов работает (в т.ч. в десятки мегабайт), с FAT'ом оно работает всё-таки правильно. Кто-нибудь сталкивался с таким? Детально проблему пока не исследовал, руки не дошли. А высокоуровневому программисту, который эти f_truncate() дёргает, не до изучения дампов FAT'а - у него своих проблем предостаточно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 14 ноября, 2013 Опубликовано 14 ноября, 2013 (изменено) · Жалоба Имеем систему: STM32 ST'шный USB стек FatFs 0.09 / 0.10 (пробовали обе). Сия система замечательно читает файлы с USB-флешки, и так же замечательно их дописывает. Файловая система - FAT32 (честно говоря, затрудняюсь сказать, проверяли ли на FAT16). Но при попытке сделать f_truncate() или f_unlink() почему-то портится FAT. Судя по тому, что запись файлов работает (в т.ч. в десятки мегабайт), с FAT'ом оно работает всё-таки правильно. Кто-нибудь сталкивался с таким? Детально проблему пока не исследовал, руки не дошли. А высокоуровневому программисту, который эти f_truncate() дёргает, не до изучения дампов FAT'а - у него своих проблем предостаточно. Были под ДОС еще Нортон ютилитис. Там был диск доктор, который искал проблемы ФАТ партишна и чинил их. Поищите что-нибудь подобное. Если мне надо было бы решать подобную задачу, то я бы взял образы диска (достаточно начала: две таблицы ФАТ и структуру директории) до и после удаления и сравнил бы их при помощи Beyond Compare. По результатам проверки смотрел бы как быть дальше. Кстати можно сделать маленький партишн и пробовать на нем. Тан все будет маленькое. Изменено 14 ноября, 2013 пользователем Tarbal Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 14 ноября, 2013 Опубликовано 14 ноября, 2013 · Жалоба Но при попытке сделать f_truncate() или f_unlink() почему-то портится FAT. У меня f_unlink работает. Как на юсб-флешке, так и на дата-флеше. Может быть у вас дело в драйверах? Они 100% работают правильно? Вообще фатфс зарекомендовала себя как надёжная система во всём мире, хотя и не без косяков и неоднозначностей. Но явных багов там вроде пока нет :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться