Страница 1 из 1

FAT - как правильно дешифровать?

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

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 А если кто туда в имя файла какой-нибудь упрощенный китайский уложит ? :shock:

Re: FAT - как правильно дешифровать?

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

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", дальше можно не продолжать :kill:

Re: FAT - как правильно дешифровать?

Добавлено: Пт ноя 09, 2012 14:25:06
m.ix
С месяц назад или что то около того, в очередной раз принесли для восстановления инфы карту памяти типа SD SS :)))
Прога мне выписала тут такое.
Изображение

Луше бы я скрин тогда сделал бы.
Лучше один раз увидеть, чем ...