реклама на сайте
подробности

 
 
> FAT, FATfs, usb Помогите разобраться с файловой системой, Помогите запустить файловую систему на stm32f107
batisto4ka
сообщение Jul 18 2012, 13:29
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 89
Регистрация: 3-01-11
Пользователь №: 61 997



Помогите разобраться с библиотекой файловой системы fatfs. Ситуация такая.Есть отладочная плата sk-mstm32f107. Нужно сделать на ней хост, чтобы можно было подлючить флешку, записать/считать файл, вобщем порыться в флэшке. Пробовала библиотеку efsl. Эта файловая система не инициализируется, т.к. размер кластера на флешке больше 512 байт. Флешка 16 гектарная. отформатирована в FAT32.
Пробую библиотеку fatfs. Но с ней какие-то непонятки. Вроде флешка инициализируется (имеется в виду функция инит диск библиотеки фатфс). Монтируется диск, а при попытке создания файла внутри функции f_write clst = create_chain(fp->fs, fp->clust);
возвращает 0xFFFFFFFF и соответсвенно функция записи файла возращает FR_DISK_ERR. Подскажите, пожалуйста, что это может быть? Из-за чего?
Есть ли у кого-то примеры для стшки работы с файловой системой?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kan35
сообщение Jul 19 2012, 04:16
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



не понятно зачем сразу начинать с записи!? Отформатируйте флэшку на компьютере, запишите туда текстовый файл и отработайте чтение для начала.

Сообщение отредактировал kan35 - Jul 19 2012, 06:19
Go to the top of the page
 
+Quote Post
batisto4ka
сообщение Jul 19 2012, 06:51
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 89
Регистрация: 3-01-11
Пользователь №: 61 997



Цитата(kan35 @ Jul 19 2012, 07:16) *
не понятно зачем сразу начинать с записи!? Отформатируйте флэшку на компьютере, запишите туда текстовый файл и отработайте чтение для начала.

Проблема решена. В функциях файла diskio disk_write, disk_read и т.д. взятых из примера юсбишной библиотеки переменная Stat негде не обновляет свое значение, а оставляет инициализированное STA_NOINIT. Заменив эту перменную на вызов функции disk_status(drv) все заработало..теперь на 16 гб флешку записывается и создается файл. Сейчас буду пробовать чтение из файла.

Сообщение отредактировал batisto4ka - Jul 19 2012, 06:52
Go to the top of the page
 
+Quote Post
batisto4ka
сообщение Jul 19 2012, 13:20
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 89
Регистрация: 3-01-11
Пользователь №: 61 997



Цитата(batisto4ka @ Jul 19 2012, 09:51) *
Проблема решена. В функциях файла diskio disk_write, disk_read и т.д. взятых из примера юсбишной библиотеки переменная Stat негде не обновляет свое значение, а оставляет инициализированное STA_NOINIT. Заменив эту перменную на вызов функции disk_status(drv) все заработало..теперь на 16 гб флешку записывается и создается файл. Сейчас буду пробовать чтение из файла.

Собственно, чтение из флешки также опробовано. Все работает. Терь можно обновляться с флешки.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 8th August 2025 - 22:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01452 секунд с 7
ELECTRONIX ©2004-2016