Example SDUCFSSpeed for ARMGS10

Материал из eeWiki - открытая энциклопедия по электронике
Перейти к: навигация, поиск

Тестирование работы файловой системы FAT32 от фирмы Micrium
на плате ARMGeoSpyder 1.0

Файловая система uC/FS фирмы Micrium считается одной из самых надежных файловых систем для встраиваемых систем.

У нее есть много преимуществ включая:

  • написана на чистом Cи понимаемом без корректировок подавляющим большинством компиляторов,
  • возможность портирования на любые платформы как с RTOS так и без операционных систем,
  • поддержка FAT16, FAT32 с кодировкой UNICODE. Совместима со всеми вариантами FAT-форматирования Windows
  • поддержка любого количества дисков на разных медианосителях включая: SD/MMC карты, CF карты, IDE/ATA, NAND flash, NOR flash, RAM и т.д.
  • наличие опции журналирования,
  • высокая надежность кода сертифицированного для real-time систем,
  • высокая скорость кода,
  • сравнительно небольшие размеры в ряду embedded файловый систем,
  • наличие API совместимого cо стандартной библиотекой ввода/вывода языка Си


Установки микроконтроллера и компилятора:

  • Частота процессора - 260 МГц
  • Частота шины HCLK - 130 Мгц
  • Частота периферии - 20 Мгц
  • Максимальная оптимизация по скорости

Файл проекта: Только вкладчикам eeWiki
Размер кода - 88 кБайт, включая операционную систему.

Результаты


Тестирование проводилось на microSD карте фирмы Kingston объемом 2 Гбайта.
Карта была отформатирована на PC с Windows 7 как FAT16 c размером AU по умолчанию.
Карта инициализировалась, затем записывалось 100 файлов размером по 1 МБайту, после чего файлы читались и сверялось их содержимое.
В заключении файлы стирались
Частота тактирования SD карты равнялась 26 МГц, использовался 4-х битный режим.
Скорость чтения и записи приводятся без учета времени на открытие и закрытие файла
Файловая система имела версию 3.1.008


Время инициализации файловой системы и SD карты без форматирования ~0.5 сек Среднее время открытия файла Среднее время закрытия файла
Средняя скорость записи файлов 3.5 МБайт/с (delta=35 мс) 17.8 мс (delta=230 мс) 10.1 мс (delta=200 мс)
Средняя скорость чтения файлов 11.2 МБайт/с (delta=15 мс) 4.2 мс (delta=7 мс) 1 мкс (delta=1 мкс)
Средняя длительность стирания файлов 19 мс (delta=220 мс)


Параметр delta равен разнице между зафиксированными минимальным и максимальным значениями при измерении на 100 файлах.
SD карты имеют особенность делать непредсказуемые задержки при чтении и записи поэтому параметр deltа может иметь большие значения.

При чтении на компьютере эта же SD карта показывала при записи 2 МБайт/c, а при чтении 12 МБайт/c.
При прямом чтении блоков этой же SD карты с использованием драйверов из этого проекта на платформе ARMGeoSpyder 1.0 была достигнута скорость 14 МБайт/c , при записи была достигнута скорость 3.9 МБайт/c

Замечания:
Исследования показали, что скорость чтения и записи SD карт существенно зависит от варианта форматирования карты.
Худшие результаты показывает форматирование FAT32 по сравнению с FAT16.
Самый плохой результат дает форматирование FAT32 с AU=512 байт, в этом случае скорость может упасть до двух раз.