Перейти к содержанию
    

FatFS от Чена

Добрый день!

 

Есть задача - GPS трекер. Для удобства решили не использовать Dataflash, а вкрутить uSD по SPI, файловая система от Чена

Пока все на стадии проектирования, поэтому хотелось бы прикинуть, какие ресурсы будут необходимы.

Каталоги использовать не планируется, файлы будут записываться в корень, имена будут генерироваться либо от RTC, либо просто последовательно типа AAA.DAT, AAB.DAT и т.д.

 

Контроллер планируется STM32F071

 

Соориентируйте, пожалуйста, по сабжу

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот это не совсем понятно:

 

V*560 + F*550

 

для тома (V) нужно 560 байт и для каждого файла еще 560 байт? Не жирно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

для тома (V) нужно 560 байт и для каждого файла еще 560 байт? Не жирно?

FatFS обмен с нижним уровнем осуществляет посекторно (по 512). Так что очевидно имеется буфер для сектора записи каталога и буфер для открытого файла, хранящие последний считанный сектор.

А Вы хотите чтобы для чтения каждого байта он у вас транзакцию по шине запускал - заново сектор читал?

Если действительно хотите сэкономить - не используйте ФС.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрите опцию _FS_TINY. Там каждый файл занимает значительно меньше, но и работать будет медленнее.

 

#define    _FS_TINY        1
/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny)
/  At the tiny configuration, size of the file object (FIL) is reduced _MAX_SS
/  bytes. Instead of private sector buffer eliminated from the file object,
/  common sector buffer in the file system object (FATFS) is used for the file
/  data transfer. */

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Соориентируйте, пожалуйста, по сабжу

 

мои результаты для LPC1778+IAR6,5( без директорий, имена в формате 8.3 ):

вообщем вот настройки ffconf.txt

 

ff.c: ro=6160 rw=8

lcp17xx_sd_rtos.c ro=3272 rw=2392 ( здесь крутится задача, которая принимает Файловые запросы и обрабатывает их в sdcard.c )

sdcard.c ro=2332 rw=100 ( собственно драйвер )

 

всё суммируете

 

для тома (V) нужно 560 байт и для каждого файла еще 560 байт? Не жирно?

 

560 байт это для каждого открытого файла. На куче выделить sizeof( FIL ) и делов то.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

FatFS обмен с нижним уровнем осуществляет посекторно (по 512). Так что очевидно имеется буфер для сектора записи каталога и буфер для открытого файла, хранящие последний считанный сектор.

А Вы хотите чтобы для чтения каждого байта он у вас транзакцию по шине запускал - заново сектор читал?

Если действительно хотите сэкономить - не используйте ФС.

использование ФС обусловлено простотой дальнейшей обработки и передачи данных большому брату. В данном случае - просто вынул флешку и вставил в картридер

 

 

Посмотрите опцию _FS_TINY. Там каждый файл занимает значительно меньше, но и работать будет медленнее.

в принципе, скорость мне не нужна, но и набортной памяти вполне достаточно для буфера V и одного файла, открыт будет только один

 

мои результаты

ок, спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

хм, чан вырезал CP1251

R0.11a (September 5, 2015)

Removed some code pages actually not exist on the standard systems. (_CODE_PAGE)

 

но зачем-то оставлен CP866

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...