Страница 1 из 1
FAT - как правильно дешифровать?
Добавлено: Ср окт 31, 2012 20:09:56
CyberVad
Добрый день всем.
Пытаюсь сделать читалку электронных книг, носитель SD флешка. Дисплей работает, флешка читается, читаю всё что положено читать (FAT, Root, кластера с данными). Проблема в том что не могу в Root понять кто есть что. По всем мануалам с адреса Root Base идут каждые 32 байта описание файла (имя, атрибуты, адрес первого кластера и пр). У меня на нескольких флешках Первые 32 байта содержат имя диска и что то ещё. Ладно. Пропустим. Но далее виднеется имя файла но заглавными буквами, тогда как комп отображает как положено. Это если имя 8.3 Дальше-хуже. Если имя больше 8 символов то всё сбивается. А если русскими буквами то вообще ничего не разобрать. Огромный просьба - кто-то может растолковать как же найти кто есть кто?

Re: FAT - как правильно дешифровать?
Добавлено: Ср окт 31, 2012 22:36:22
koyodza
Возьмите FatFs или PetitFat от Чена.
http://elm-chan.org/fsw/ff/00index_p.html
http://elm-chan.org/fsw/ff/00index_e.html
Написано довольно качественно. Если не захотите использовать, то можете хотя бы посмотреть, как он разбирает начальные сектора. Там возможны разные варианты
Re: FAT - как правильно дешифровать?
Добавлено: Чт ноя 01, 2012 02:38:09
Cheba
Документация от
первоисточника
Читать с 25-й страницы.
HINT: проблемы связяны с тем, что это FAT32 и Long Filenames, нужно понимание, как хранятся Long Names.
Re: FAT - как правильно дешифровать?
Добавлено: Чт ноя 01, 2012 03:07:32
Tolmi
Cheba +1
От себя добавлю, что если буквы русские, то тут возможны разные варианты с Unicode кодировкой. Проще читать 8.3 имена.
PS А если кто туда в имя файла какой-нибудь упрощенный китайский уложит ?

Re: FAT - как правильно дешифровать?
Добавлено: Чт ноя 01, 2012 16:04:28
CyberVad
Совершенно верно, со всеми согласен. Благодаря врождённой наблюдательности и солдатской смекалке, на основе просмотра содержимого root нашёл закономерность - как кодируются и записываются имена - и 8,3 и длиннее, и ещё длиннее. Алгоритм синтезировал, теперь реализую. В скором будущем, когда мои догадки подтвердятся, изложу своё понимание вопроса.
Понятное дело, из юникода ограничусь только кириллицей.
Документец "Microsoft EFI FAT32 File System" сегодня поизучаю.
Всем спасибо.

Re: FAT - как правильно дешифровать?
Добавлено: Сб ноя 03, 2012 01:29:13
m.ix
FAT
FAT-12
FAT-16
FAT-28
FAT-32
Иных мне не встречалось
======
О читалках и файлах
Некоторые читалки виснут на мертво при неадекватном названии файла - абракадабра
Re: FAT - как правильно дешифровать?
Добавлено: Сб ноя 03, 2012 09:24:53
koyodza
m.ix писал(а):FAT
FAT-12
FAT-16
FAT-28
FAT-32
Потрудитесь объяснить различия между FAT и FAT12, а также что такое FAT28 и где применяется
Re: FAT - как правильно дешифровать?
Добавлено: Сб ноя 03, 2012 11:33:47
Satyr
даа...
ну, ФАТ-24 я бы еще понял. Но фат 28

Re: FAT - как правильно дешифровать?
Добавлено: Чт ноя 08, 2012 23:30:20
CyberVad
Следующий вопрос: кто-то реально повторял
http://avrlab.com/node/231 ? Это третья часть статьи, я так понял тот проект уже поддерживает LFN. Я сначала взял вторую часть статьи (
http://avrlab.com/node/167 ), взял оттуда проект, прикрутил дисплей, всё поехало, но длинные имена не поддерживает. Я бы понял это в 1996г., но не сейчас. А с третьей хоть убейся. Без флешки пишет что "mounting FAT OK", дальше можно не продолжать

Re: FAT - как правильно дешифровать?
Добавлено: Пт ноя 09, 2012 14:25:06
m.ix
С месяц назад или что то около того, в очередной раз принесли для восстановления инфы карту памяти типа SD SS
Прога мне выписала тут такое.
Луше бы я скрин тогда сделал бы.
Лучше один раз увидеть, чем ...