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

 
 
> Что может замедлять работу FatFS?
sambotey
сообщение Sep 29 2011, 10:43
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 25-08-11
Пользователь №: 66 868



LPC1768 + SDHC.
Для работы с SD-карточкой использую FatFS. Программа должна достаточно быстро создавать на карточке файлы и записывать в них какие-то данные. Величина каждого файла 15-20Кb. Скорость создания файлов - 2-3 файла в секунду. Однако со временем скорость, с которой создаются и записываются файлы, падает. Общая структура программы такова:

Код
while (f_mount(0, &FATFS_Obj) != FR_OK);
while (f_mkdir (str) != FR_OK);
while (1)
{
  //время выполнения этого цикла падает от 1/3секунды до 3 секунд
  while (f_open(&fil_obj, str1, FA_CREATE_ALWAYS|FA_WRITE) != FR_OK);
  f_write(&fil_obj, &ibf, data_length, &ui);
  while (f_close(&fil_obj) != FR_OK);
};


Кто-нибудь сталкивался с подобной проблемой?

Сейчас шлифую свои процедуры из интерфейса с FatFS(файл diskio.c), но пока безрезультатно. Думаю, что пора переходить к функциям самой FatFS(файл ff.c).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sergeeff
сообщение Sep 29 2011, 11:08
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Да сама карточка и тормозит. Если вы померяете время записи файла, то 90-95% занимают операции с карточкой.

А со временем появяются дополнительные накладные расходы типа что-то стереть в директории, сами директории растут и прочее.
Go to the top of the page
 
+Quote Post



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

 


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


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