µC/FS Benefits

Overview

PC Windows Evaluation

Drivers

Performance and resource usage

Licensing

Pricing Information

FileSystem White Paper

Performance

A benchmark is used to measure the speed of the software on available targets. This benchmark is in no way complete, but it gives an approximation of the length of time required for common operations on various targets.

Configuration and performance table

All values are in KBytes/sec.

System Medium
W0
W1
R
ARM 7 (50 MHz) Hard drive
2431
2434
4167
ARM 7 (50 MHz) Compact Flash, IDE mode
1882
1882
2000
ARM 7 (50 MHz) Compact Flash, memory-mapped
2782
2782
2560
ARM 7 (50 MHz) MMC / SD using SPI with 12MHz
1280
1333
1488
XScale (208 MHz) MMC / SD using SD4 card mode with 20MHz
7262
7262
5389
ARM 7 (50 MHz) SMC
392
390
771
ARM 7 (50 MHz) NAND Flash 8MB
474
474
771
ARM 7 (50 MHz) NOR flash
172
91
1254
ARM 7 (50 MHz) RAM disk
4000
4000
4571

Description of the performance tests

Performance test Description
W0: Writing
  • Open a file for writing .
  • Write data to the opened file in chunks of 64 kBytes, using 80% of the volume capacity but no more than 4 MByte. Writing a 64KByte chunk is measured.
  • Close the file
W1: Writing
  • Reopen the file for writing (old created file will be deleted).
  • Write data to the opened file in chunks of 64kBytes, using 80% of the capacity of the medium but no more than 4MByte. Writing a 64KByte chunk is measured.
  • Close the file.
R: Reading
  • Open the file for reading
  • Read 4 MBytes from file in 64KByte chunks. Reading a 64KByte chunk is measured. (R1)
  • Close the file.

Memory footprint

The file system is designed to fit many kinds of embedded design requirements. Several features can be excluded from build to get a minimal system that can efficiently access any media.

In the following section memory usage for different typical 16 and 32- bit systems is listed.
Please note that the values given are approximate values. Features can affect the size of other featuress. For example if FAT32 is deactivated, the format function gets smaller because the 32 bit specific part of format is not added into the compilation.

This minimal configuration supports FAT12/16, but has no media format features, no directory support, no free disk space function (DiskInfo) and only one file can be opened at a time:

The configuration file (FS_Conf.h) looks as follows:

#define FS_POSIX_DIR_SUPPORT 0
#define FS_FAT_NOFORMAT 1
#define FS_FAT_DISKINFO 0
#define FS_FAT_NOFAT32 1
#define FS_MAXOPEN 1

16-bit CPUs

System

Detail Description
CPU M16C
Tool chain IAR Workbench for M16C V2.12A
Memory Model Data model: Near pointer; Constants: near memory
Compiler options Highest size optimization
Device driver MMC/SD driver

Memory requirements

Detail
ROM [Bytes]
RAM [Bytes]
Minimal file system
11384
1122
MMC/SD driver
+2172
528
Additional support for
Directory
+2654
+1310 (for each directory)
(Auto) format
+2175
0
Diskinfo
+758
0
FAT32
+658
0
 
Additional open files
0
1060

32-bit CPUs

System

Detail Description
CPU ARM 7
Tool chain IAR Workbench for ARM V4.11A
Memory Model ARM7, thumb instructions; no interwork;
Compiler options Highest size optimization;
Device driver MMC/SD driver

Memory requirements

Detail
ROM [Bytes]
RAM [Bytes]
Minimal file system
10298
1129
MMC/SD driver
+2358
532
Additional support for
Directory
+2208
+1328 (for each directory)
(Auto) format
+2056
0
Diskinfo
488
0
FAT32
352
0
 
Additional open files
0
1068