Перейти к содержанию
    

Вопрос по FatFs от мистера ChaN'а

Обновилась FatFS R0.07

R0.07, Apr 01, 2009

Merged Tiny-FatFs as a buffer configuration option.

Added long file name support.

Added multiple code page support.

Added re-entrancy for multitask operation.

Added auto cluster size selection to f_mkfs().

Added rewind option to f_readdir().

Changed result code of critical errors.

Renamed string functions to avoid name collision.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Читал, но мой англицкий оставляет желать лучшего.

Так и пытаюсь произвести чтение директории с помощью f_readdir, возвращает - FR_NO_FILESYSTEM, хотя флешка перед тем была отформатированна FAT16 и записан файл.

 

В этом нет проблемы драйвер был прикручен и он работает без сбое

 

Была такая же проблема: все функции в diskio.cpp корректно работали (тестил каждую после портирования на MSP430), но после успешного монтирования (FR_OK) функцией f_mount при попытки открыть фаил f_open возвращал - FR_NO_FILESYSTEM.

Проблема была устранена путем коммента функции disk_initialize перед f_mount, которую вызывал для проверки ее же работоспособности.

Наверное дело в том, что мой проект не поддерживает снятия питания с карты, и при повторной внутренней инициализации в f_open, происходила ошибка.

 

P.S. FatFs 007, IAR 4.10, MSP430

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня вопрос новичка к вам. Если с помощью FATFs записывать файлы на флешку а потом подключить к компьютеру. То как она определиться по виндой? Как FAT16?

 

Заранее спасибо за ответ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если ее не форматировать средствами fatfs, то какая была до записи файлов, такая и останется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я имею ввиду, у меня есть голая флешка, отформатированная. Я на ней создаю файловую систему под средством FATFs, записываю несколько файликов и так далее... Потом подключаю её к компу, она определиться в винде или нет? И если да то как?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Потом подключаю её к компу, она определиться в винде или нет? И если да то как?

 

Определится. Как FAT16.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я имею ввиду, у меня есть голая флешка, отформатированная. Я на ней создаю файловую систему под средством FATFs, записываю несколько файликов и так далее... Потом подключаю её к компу, она определиться в винде или нет? И если да то как?

Флешки "голыми" не выпускаются. От изготовителя они приходят уже отформатированными (как правило в FAT16), Форматирование необходимо только в случае "слета" файловой системы (да и то, если на карточке есть нужная информация, то ее нужно перед фоматированием извлечь, а это, как правило, делается с помощью ПК, там же обычно она и форматируется) или в каких либо особых случаях.

Если все же нужно форматирование, то, вообще говоря, файловая система выбирается исходя из обьема носителя. Но в случае с обычными современными карточками памяти выбор невелик - ФАТ12 никак не подойдет, а ФАТ32 пока нет смысла(хотя возможность есть).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если все же нужно форматирование, то, вообще говоря, файловая система выбирается исходя из обьема носителя. Но в случае с обычными современными карточками памяти выбор невелик - ФАТ12 никак не подойдет, а ФАТ32 пока нет смысла(хотя возможность есть).

 

на карточку 8Gb и больше FAT16 будет затруднительно прикрутить... не разбивая на разделы

так что FAT32 вполне востребована.

 

/Gr

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну такой емкости карточки пока еще не так распространены как 0,5 - 2ГБайтные, тем более для "нескольких файликов".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Бывают и другие причины выбирать FAT32 вместо FAT16. Например из за ограничения на количество файлов в корневом каалоге FAT16. А с появлением поддержки LFN в FatFS это становится актуальным - при длинных именах емкость корневого каталога может оказаться файлов на 30-40. И этого может не хватить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если ее не форматировать средствами fatfs, то какая была до записи файлов, такая и останется.

Извиняюсь за очень легкий вопрос, но никак не могу разобратся. А как форматировать накопитель средствами fatfs?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не смог пока разобраться с такой проблемой.

Есть реализация данной библиотеки на SDC, в контроллере зашита программка как в демке от автора FatFs для общения с контроллером через терминалку.

Всё работает отлично, кроме русских букв в именах файлов.

 

Проблема состоит из двух частей:

1) Если создать файл с русскими буквами в имени средствами Windows, то при чтении директории через терминалку, буквы отображаются "закорючками".

2) Если то же самое сделать средствами контроллера из терминалки и прочитать директорию на компе под Windows, то эти имена вообще не воспринимаются системой (потом с этими файлами ничего не сделать - ругается на недопустимые символы).

 

Длинные имена отображаются как положено и с русскими буквами

 

Кодовая страница в настройках FatFs установлена 1251 (пробовал и 866 - при создании файла прога виснет).

Смотрел на реализацию функции get_fileinfo(), там при выдаче имени файла перекодировок не происходит.

В функции create_name() используется табличка соответствующая.

 

если по проблеме 2 еще можно грешить на то, что японец не верно построил перекодировку, то по 1-й вообще неясно...

 

Кто, что скажет?

Изменено пользователем Арк К

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...