|
Вопрос по FatFs от мистера ChaN'а |
|
|
|
 |
Ответов
|
Nov 23 2007, 09:59
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(kanzler @ Nov 23 2007, 04:31)  Так и делаю, но после f_mount структура пустая. Значить я что то делаю не так. Что? Как что? Не прочитали документацию. Хотя бы на f_mount: Цитата This function only initializes the work area and registers its address to the internal table, any access to the disk I/O layer does not occure. The actual mounting process is performed depends on requirement in any other file funcitons. Можно было еще заглянуть в исходники, и увидеть, что f_mount только сохраняет адрес этой структуры во внутренней переменной. А заполнение произойдет потом, когда попытаетесь призвести какое-нибудь действие с файлом/директорией.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Nov 23 2007, 16:49
|

Местный
  
Группа: Свой
Сообщений: 340
Регистрация: 27-02-06
Из: Екатеринбург
Пользователь №: 14 728

|
Цитата(Сергей Борщ @ Nov 23 2007, 14:59)  Как что? Не прочитали документацию. А заполнение произойдет потом, когда попытаетесь призвести какое-нибудь действие с файлом/директорией. Читал, но мой англицкий оставляет желать лучшего. Так и пытаюсь произвести чтение директории с помощью f_readdir, возвращает - FR_NO_FILESYSTEM, хотя флешка перед тем была отформатированна FAT16 и записан файл. Цитата(prottoss @ Nov 23 2007, 18:30)  А Вы описали функции disk read/write sector/ioctl? Возможно проблема в этом? В этом нет проблемы драйвер был прикручен и он работает без сбоев. Цитата(GDI @ Nov 23 2007, 12:20)  Cделайте map-файл и посмотрите какие размеры стеков вам требуются Честно говоря я не сильно понимаю как можно узнать в map-файле что со стеком всё впорядке. Подскажите пожайлуста.
|
|
|
|
|
Nov 24 2007, 06:27
|

Местный
  
Группа: Свой
Сообщений: 340
Регистрация: 27-02-06
Из: Екатеринбург
Пользователь №: 14 728

|
Цитата(zltigo @ Nov 24 2007, 01:52)  999 против 1, что disk_read() не смотря вышеприведенное утверждение не работает. В чем с легкостью можете убедится посмотрев что Вы получили вместо 0 сектора в fs. Ставка принята. Посмотрев код я не нашёл в функциях f_mount, f_opendir, f_readdir ссылок на да функцию disk_read(). Может быть я что то пропустил. Или может быть после того как произвели регистрацию fs с помощью f_mount нужно вызвать f_getfree()? Хотя и в ней нет ссылка на disk_read(). Вобщем ни одна функция f_opendir, f_readdir, f_getfree не возвращает FR_OK. Эсли это связанно с тем что функция disk_read() не работает, то я её проверю, только объясните по шагам как работать с FatFs, пожайлуста.
|
|
|
|
|
Nov 24 2007, 07:51
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(kanzler @ Nov 24 2007, 08:27)  Посмотрев код я не нашёл в функциях... Расстроили очень  Читаем: Цитата Так и пытаюсь произвести чтение директории с помощью f_readdir, возвращает - FR_NO_FILESYSTEM, Для начала f_readdir() в принципе не может возвращать FR_NO_FILESYSTEM, ибо работает с готовой заполненной структурой DIR. Сию ошибку возвращает f_opendir() которая и пытается прочитать с диска и заполнить вышеупомянутую структуру. В свою очередь FR_NO_FILESYSTEM возвращает только фунуция auto_mount(), которая в свою очередь вызывает функцию с совершенно ожидаемым названием check_fs(), которая в свою очередь ну совсем ожидаемо (а что ей еще остается делать?) вызывает disk_read() для разборок с содержимым диска. P.S. Кстати, auto_mount() очень сомнительное "удобство" введенное в V0.04, ибо узнается о проблемах с диском только при обращении к нему. Например, пришел, сменил носитель, ушел и через некоторое время узнал, что не сработало. Одно из моих изменений в собственно ff (немногих, кстати  ) касается замены auto_mount() на check_mount(), а собствено монтирование (полное, а не то, огрызок f_mount() ) осуществляется по детектированию вставления SD/MMC, ну и ручками при желании.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Сообщений в этой теме
kanzler Вопрос по FatFs от мистера ChaN'а Nov 22 2007, 19:11       kanzler Цитата(zltigo @ Nov 24 2007, 12:51) Расст... Nov 24 2007, 08:15        Сергей Борщ Цитата(kanzler @ Nov 24 2007, 10:15) Если... Nov 24 2007, 08:22         kanzler Цитата(Сергей Борщ @ Nov 24 2007, 13:22) ... Nov 24 2007, 08:29        zltigo Цитата(kanzler @ Nov 24 2007, 10:15) Как ... Nov 24 2007, 08:29         kanzler Цитата(zltigo @ Nov 24 2007, 13:29) Вы эт... Nov 24 2007, 08:35          zltigo Цитата(kanzler @ Nov 24 2007, 10:35) f_mo... Nov 24 2007, 08:48           kanzler Цитата(zltigo @ Nov 24 2007, 13:48) Это з... Nov 24 2007, 09:21            zltigo Цитата(kanzler @ Nov 24 2007, 11:21) Дела... Nov 24 2007, 09:37          Сергей Борщ Цитата(kanzler @ Nov 24 2007, 10:35) Со с... Nov 24 2007, 09:36    Hasky [quote name='kanzler' date='Nov 23 200... Jun 30 2009, 07:22   kostik2 Цитата(Сергей Борщ @ Nov 23 2007, 12:59) ... Apr 1 2009, 17:02    Сергей Борщ Цитата(kostik2 @ Apr 1 2009, 20:02) Может... Apr 1 2009, 19:45    _Pasha Цитата(kostik2 @ Apr 1 2009, 20:02) пока ... Apr 2 2009, 08:02  prottoss Цитата(kanzler @ Nov 23 2007, 09:31) Так ... Nov 23 2007, 13:30 GDI Cделайте map-файл и посмотрите какие размеры стек... Nov 23 2007, 07:20 kanzler Огромное всем спасибо! Nov 24 2007, 09:58 Непомнящий Евгений У меня тоже вопрос по FatFS.
Рассматриваю возможно... Nov 24 2007, 13:01 zltigo Цитата(Непомнящий Евгений @ Nov 24 2007, 15... Nov 24 2007, 13:14 Сергей Борщ Цитата(Непомнящий Евгений @ Nov 24 2007, 15... Nov 24 2007, 13:34 Непомнящий Евгений Цитата(Сергей Борщ @ Nov 24 2007, 16:34) ... Nov 24 2007, 14:00 zltigo Цитата(Непомнящий Евгений @ Nov 24 2007, 16... Nov 24 2007, 14:35 Непомнящий Евгений to zltigo - по моему, мы говорим о разных моделях.... Nov 24 2007, 14:39 zltigo Цитата(Непомнящий Евгений @ Nov 24 2007, 16... Nov 24 2007, 14:52  Непомнящий Евгений Цитата(zltigo @ Nov 24 2007, 17:52) На мо... Nov 24 2007, 15:00   zltigo Цитата(Непомнящий Евгений @ Nov 24 2007, 17... Nov 24 2007, 15:12 alux В версии ff006 неправильно работает fprintf:
Кодvo... Mar 20 2009, 09:46 Andy Mozzhevilov смотрели здесь?
http://elm-chan.org/fsw/ff/patches... Mar 20 2009, 16:20 artemm Скажите, если я пишу отак:
ЦитатаFATFS fs;
FIL fds... Mar 31 2009, 12:11  Andy Mozzhevilov Цитата(artemm @ Mar 31 2009, 17:11) файло... Mar 31 2009, 14:25 alux Вопрос снимается. Проблема была связана с нехватко... Mar 21 2009, 06:41 alux В симуляторе проверил fprintf , только убрал обращ... Mar 23 2009, 08:29 Сергей Борщ Цитата(alux @ Mar 23 2009, 10:29) Видимо,... Mar 23 2009, 08:42  Andy Mozzhevilov Цитата(Сергей Борщ @ Mar 23 2009, 14:42) ... Mar 23 2009, 09:21  alux согласен. Тогда почему 6-ой аргумент не выводит? П... Mar 23 2009, 09:27   Сергей Борщ Цитата(alux @ Mar 23 2009, 11:27) согласе... Mar 23 2009, 11:23 Genadi Zawidowski Цитата(alux @ Mar 23 2009, 11:29) В симул... Mar 25 2009, 08:52  HARMHARM Цитата(Genadi Zawidowski @ Mar 25 2009, 10... Mar 25 2009, 11:10   Genadi Zawidowski Цитата(HARMHARM @ Mar 25 2009, 15:10) Нич... Apr 1 2009, 17:49 Akakiy Обновилась FatFS R0.07
ЦитатаR0.07, Apr 01, 2009
... Apr 4 2009, 15:28 piz2383 У меня вопрос новичка к вам. Если с помощью FATFs ... Aug 16 2009, 15:42 VDLab Если ее не форматировать средствами fatfs, то кака... Aug 16 2009, 15:47 Deddy85 Цитата(VDLab @ Aug 16 2009, 18:47) Если е... Sep 21 2009, 11:23 piz2383 Я имею ввиду, у меня есть голая флешка, отформатир... Aug 16 2009, 15:55 AHTOXA Цитата(piz2383 @ Aug 16 2009, 21:55) Пото... Aug 16 2009, 17:31 VDLab Цитата(piz2383 @ Aug 16 2009, 18:55) Я им... Aug 16 2009, 18:01  Grape Цитата(VDLab @ Aug 16 2009, 22:01) Если в... Aug 17 2009, 13:09 VDLab Ну такой емкости карточки пока еще не так распрост... Aug 17 2009, 13:37 Qwertty Бывают и другие причины выбирать FAT32 вместо FAT1... Aug 17 2009, 14:17 VDLab Ну это легко обходится. Просто не ложите файлы в к... Aug 17 2009, 18:18 goodwin f_mkfs Sep 21 2009, 11:39 Арк К Не смог пока разобраться с такой проблемой.
Есть р... Nov 19 2009, 07:17 Арк К Очень похоже на то, что Windows для коротких имён ... Nov 19 2009, 08:32 AHTOXA Цитата(Арк К @ Nov 19 2009, 12:17) Кто, ч... Nov 19 2009, 09:24  Арк К Цитата(AHTOXA @ Nov 19 2009, 12:24) Надо ... Nov 19 2009, 12:22   zltigo Цитата(Арк К @ Nov 19 2009, 15:22) ZOC ка... Nov 19 2009, 12:30    Арк К Цитата(zltigo @ Nov 19 2009, 15:30) Да ну... Nov 19 2009, 19:11 ARV Вопрос по Petit FatFs.
Для отладки использую Prot... Mar 5 2017, 20:53 AlanDrakes А в железе пробовали отлаживать?
Симулятор, конечн... Mar 10 2017, 14:39 ARV Делал и в железе - результат 100% тот же самый. И ... Mar 14 2017, 18:31 AlanDrakes Обработчики функций библиотеки дописывали сами?
П... Mar 17 2017, 15:24
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|