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

 
 
> FatFs на STM32 - кеширование FAT32?, чтобы ускорить f_open()
sonycman
сообщение Jul 5 2010, 09:55
Сообщение #1


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Всем доброго времени суток.

На девайсе под управлением STM32 есть процедура, которая создаёт сортированный по алфавиту список файлов FAT32 диска на флеш карточке.
Используется FatFs версии 0.08.
Количество файлов в списке может быть максимум 500.

На днях обратил внимание, что львиная доля времени (около 90%), затрачиваемого на сортировку, потребляется функцией файловой системы f_open().
Поковырявшись в её дебрях, обнаружил, что в свою очередь это вызвано подфункцией move_window(), которая подгружает по одному сектору из, вероятно, каталога фат.

То есть чтобы открыть файл, файловая система продирается через структуру фат до того, как найдёт запись с информацией по нужному файлу.
Считывание ведётся по одному сектору.
И так для каждого файла.

Вот и подумалось тут, а почему бы не ввести кеширование для секторов, запрашиваемых функцией move_window()?

Главный вопрос здесь - хватит ли для этого 10-20 килобайт оперативки?
К сожалению, приходится довольствоваться только внутренним ОЗУ контроллера.

Наверное, для FAT32 с большим количеством файлов кеширование 20 килобайт (40 секторов) не будет эффективным?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- sonycman   FatFs на STM32 - кеширование FAT32?   Jul 5 2010, 09:55
- - aaarrr   Цитата(sonycman @ Jul 5 2010, 13:55) Наве...   Jul 5 2010, 10:04
|- - sonycman   Цитата(aaarrr @ Jul 5 2010, 14:04) Ну поч...   Jul 5 2010, 10:35
|- - aaarrr   Цитата(sonycman @ Jul 5 2010, 14:35) move...   Jul 5 2010, 10:43
|- - sonycman   Цитата(aaarrr @ Jul 5 2010, 14:43) Читать...   Jul 5 2010, 10:52
|- - aaarrr   Цитата(sonycman @ Jul 5 2010, 14:52) Коне...   Jul 5 2010, 12:12
- - sonycman   Спасибо! Что-то вроде этого задумывал и я, тол...   Jul 5 2010, 13:36
- - sonycman   Хм, вот все же странно как то у Чена сделан подход...   Jul 5 2010, 18:49
- - AHTOXA   Цитата(sonycman @ Jul 5 2010, 19:36) Веро...   Jul 5 2010, 19:26
|- - sonycman   Цитата(AHTOXA @ Jul 5 2010, 23:26) Нет, m...   Jul 5 2010, 19:43
|- - aaarrr   Цитата(sonycman @ Jul 5 2010, 23:43) Мне ...   Jul 5 2010, 20:21
||- - sonycman   Цитата(aaarrr @ Jul 6 2010, 00:21) Увы, в...   Jul 5 2010, 21:09
||- - aaarrr   Цитата(sonycman @ Jul 6 2010, 00:59) Одна...   Jul 5 2010, 21:12
|||- - sonycman   Цитата(aaarrr @ Jul 6 2010, 01:12) Конечн...   Jul 5 2010, 21:35
|||- - aaarrr   Цитата(sonycman @ Jul 6 2010, 01:35) В эт...   Jul 5 2010, 21:51
|||- - sonycman   Цитата(aaarrr @ Jul 6 2010, 01:51) Нет, э...   Jul 5 2010, 22:01
|||- - aaarrr   Цитата(sonycman @ Jul 6 2010, 02:01) А дл...   Jul 5 2010, 22:15
||- - AHTOXA   Цитата(sonycman @ Jul 6 2010, 03:09) А ка...   Jul 6 2010, 09:11
||- - sonycman   Цитата(AHTOXA @ Jul 6 2010, 13:11) Вы мен...   Jul 6 2010, 10:24
||- - defunct   Цитата(sonycman @ Jul 6 2010, 13:24) это ...   Jul 12 2010, 20:13
||- - aaarrr   Цитата(defunct @ Jul 13 2010, 00:13) А чт...   Jul 12 2010, 21:41
||- - sonycman   Цитата(aaarrr @ Jul 13 2010, 01:41) Подоб...   Jul 12 2010, 21:47
||- - aaarrr   Цитата(sonycman @ Jul 13 2010, 01:47) Не ...   Jul 12 2010, 22:52
||- - sonycman   Цитата(aaarrr @ Jul 13 2010, 02:52) А не ...   Jul 13 2010, 00:19
|- - AHTOXA   Цитата(sonycman @ Jul 6 2010, 01:43) А во...   Jul 5 2010, 20:56
- - sonycman   Получил результаты своего отладочного логгера, кот...   Jul 5 2010, 23:44
- - Ivan Kuznetzov   извиняюсь за оффтоп, sonycman, как у Вас объявлена...   Aug 22 2010, 20:20
|- - sonycman   Цитата(Ivan Kuznetzov @ Aug 23 2010, 00:2...   Aug 23 2010, 01:41
|- - Ivan Kuznetzov   Цитата(sonycman @ Aug 23 2010, 07:41) Име...   Aug 25 2010, 17:56
- - aaarrr   Посмотрите в map-файле, что стоит перед data[], от...   Aug 25 2010, 18:14


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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 12:57
Рейтинг@Mail.ru


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