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

 
 
> 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
Ответов
AlexandrY
сообщение Sep 12 2012, 20:08
Сообщение #2


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Sagittarius @ Sep 12 2012, 17:04) *
К проекту на LPC2378 надо подключить FAT16/32 на SD. Функции для самой SD написал, выбираю библиотеку файловой системы...

Неприятно удивило использование операций деления и взятия остатка от деления вместо сдвигов и наложения маски...


Keil умножения и деления на степени двойки однозначно поменяет на сдвиги автоматически.
Лучшая библиотека, ИМХО, будет от Micrium-а.
Сравнивал по скорости и стабильности с двумя другими коммерческими.
Сравнивать лучше на хорошо изношенных SD картах (после записи и стирания 1000 и более файлов).
Тогда все особенности FS ярче проявляются.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Sep 16 2012, 20:26
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(AlexandrY @ Sep 12 2012, 23:08) *
Keil умножения и деления на степени двойки однозначно поменяет на сдвиги автоматически.

IAR также. Причём, даже сложнозапутанные, совсем не явные. Я недавно столкнулся с куском дерьмокода. biggrin.gif
Показал ребятам, как нельзя делать. Переписал, как правильно ... Кроме красоты, сэкономил пару байт. На приличном куске. Не поверил. Переписывал несколько раз, самыми разными способами. Результат практически не менялся.
Go to the top of the page
 
+Quote Post
Sagittarius
сообщение Sep 17 2012, 06:20
Сообщение #4


Местный
***

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



Цитата(SasaVitebsk @ Sep 17 2012, 00:26) *
IAR также. Причём, даже сложнозапутанные, совсем не явные.


Если значение известно при компиляции то да, но если делитель берется из переменной, то уже вызов udiv, udivmod. То что в этой переменной будет только степень 2 компилятор предугадать уже не может. Или такое выражение (из FatFS):
if (ifptr > 0 && (ofs - 1) / bcs >= (ifptr - 1) / bcs ){...}
деление вызывается 2 раза. Так что пока пользую FatFS, потом руками все поправлю.
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
|- - 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
- - M0HAX   Доброго дня! К АРМ2388 с FreeRTOS пристегнул ...   May 16 2013, 13:23
|- - 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 - 21:36
Рейтинг@Mail.ru


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