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

 
 
> FAT16/32 для ARM, FatFS, efs писали PC-программисты
Sagittarius
сообщение Sep 12 2012, 14:04
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 207
Регистрация: 26-01-06
Из: СПб
Пользователь №: 13 659



Здравствуйте.

К проекту на LPC2378 надо подключить FAT16/32 на SD. Функции для самой SD написал, выбираю библиотеку файловой системы. Смотрел FATFS R0.09 Чена, EFSL-0.3.6
Неприятно удивило использование операций деления и взятия остатка от деления вместо сдвигов и наложения маски, даже для проверки на четность. Возможно кто то подскажет другие библиотеки, написанные для МК. Требуется чтение/запись/создание FS.

С уважением,
Игорь.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
M0HAX
сообщение May 16 2013, 13:23
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 22-09-08
Пользователь №: 40 378



Доброго дня!
К АРМ2388 с FreeRTOS пристегнул FatFS. Юзаю Sd-карту SDHC Transcent 4Gb.
Столкнулся с проблемой определения количества свободных кластеров на карточке. С помощью функции FatFS f_mkfs(0, 0, 1024) в устройстве форматирую карточку под FAT32. Затем мне надо было заполнить часть памяти мусором- стал записывать на компе (ОС WinXP) на карточку авишки. В процессе экспериментов выяснилось, что количество свободных кластеров, которые считываются с сектора 64 по смещению 0x1E8(Структура FSInfo), не изменяется. Причем сначала вроде меняются, а потом стопорится на каком-либо числе, даже стирания всех файлов не приводит к изменению этого числа. После записи каждого файла проверяю этот сектор с помощью Victoria, но при этом средствами Windows (свойства логическог диска) я вижу, что размер-то свободного места на карточке меняется... А в устройстве функция FatFS f_getfree("0:/", &SDMemoryRemains, &fs) дает такое же число(которое неизменяемое, т.е. неправильное). Почему такое происходит? Почему перестает обновляться количество свободных секторов в секторе 64 ? Я ж в устройстве на арме не могу каждый раз полностью пересчитывать кол-во свободных секторов- это занимает слишком много времени.

Сообщение отредактировал M0HAX - May 16 2013, 13:27
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Sagittarius   FAT16/32 для ARM   Sep 12 2012, 14:04
- - aaarrr   Цитата(Sagittarius @ Sep 12 2012, 18:04) ...   Sep 12 2012, 14:18
|- - Sagittarius   Цитата(aaarrr @ Sep 12 2012, 18:18) Если ...   Sep 12 2012, 14:33
- - SII   Ну, такие операции деления (на языках высокого уро...   Sep 12 2012, 14:36
|- - demiurg_spb   Цитата(SII @ Sep 12 2012, 18:36) Ну, таки...   Sep 27 2012, 05:24
- - ukpyr   ну так сделайте патч и отошлите его автору. в те...   Sep 12 2012, 16:16
- - AlexandrY   Цитата(Sagittarius @ Sep 12 2012, 17:04) ...   Sep 12 2012, 20:08
|- - SasaVitebsk   Цитата(AlexandrY @ Sep 12 2012, 23:08) Ke...   Sep 16 2012, 20:26
|- - Sagittarius   Цитата(SasaVitebsk @ Sep 17 2012, 00:26) ...   Sep 17 2012, 06:20
|- - SasaVitebsk   Цитата(Sagittarius @ Sep 17 2012, 09:20) ...   Sep 26 2012, 20:15
- - hd44780   Цитата(Sagittarius @ Sep 12 2012, 17:04) ...   Sep 13 2012, 06:45
|- - Allregia   Цитата(hd44780 @ Sep 13 2012, 08:45) К ки...   Sep 14 2012, 11:13
- - sonycman   А что за контроллер используете? Библиотеки какие-...   Sep 26 2012, 18:14
- - polyname   Цитатаармы давно деление на уровне инструкций имею...   Sep 26 2012, 19:58
- - MBR   Также плюсую. Автору стоит почаще смотреть в ассем...   Sep 27 2012, 06:36
- - yurmala   Тут еще зависит от конкретного компилятора (возмож...   Nov 6 2012, 05:02
|- - AHTOXA   А если в винде карточку "безопасно извлечь...   May 16 2013, 17:51
- - M0HAX   не зависит. может перестать обновлять даже,если 2 ...   May 17 2013, 09:59


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 03:23
Рейтинг@Mail.ru


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