Driver Characterization
Typical ROM requirements are summarized in the table below. The ROM data were collected on IAR EWARM v6.40 with high size optimization.
Driver | ROM, Thumb Mode | ROM, ARM Mode |
---|---|---|
RAM disk | 0.4 kB | 0.6 kB |
SD/MMC CardMode* | 3.9 kB | 6.2 kB |
SD/MMC SPI* | 4.7 kB | 7.3 kB |
NOR*** | 5.7 kB | 9.1 kB |
MSC** | 0.6 kB | 0.9 kB |
* Not including BSP
**Not including µC/USB
***Using the generic controller and software ECC, not including BSP
Typical RAM requirements are summarized in the table below.
Driver | RAM (Overhead) | RAM (Per Device) |
---|---|---|
MSC* | 12 bytes | 32 bytes |
NOR*** | 4 bytes | --- bytes |
RAM disk | 4 bytes | 24 bytes |
SD/MMC CardMode | 4 bytes | 64 bytes |
SD/MMC SPI | 4 bytes | 52 byte |
*Not including µC/USB
***See NOR Driver and Device Characteristics.
Performance can vary significantly as a result of CPU and hardware differences, both as well as file system format. All test were compiled using IAR EWARM 6.40.1 using high speed optimization. The table below lists results for two general performance tests:
- Read file test. Read a file in 4-kB and 64kB chunks. The time to open the file is not included in the time.
Write file test. Write a file in 4-kB and 64kB chunks. The time to open (create) the file is not included in the time.
Driver | CPU | Media | Performance (kB/s) | |
---|---|---|---|---|
4k Read 4k Write | 64k Read 64k Write | |||
RAM Disk | ST STM32F207IGH6 120Mhz | IS61WV102416BLL-10MLI 16Mbit 10-ns SRAM | 16 622 kB/s 10 839 kB/s | 31 186 kB/s 26 473 kB/s |
RAM Disk | Atmel AT91SAM9M10 400-Mhz | MT47H64M8CF-3-F DDR2 2x8bit 2 banks interleaved | 27 478 kB/s 18 858 kB/s | 96 866 kB/s 84 121 kB/s |
SD/MMC CardMode | ST STM32F207IGH6 120-MHz, 4-bit mode | Nokia 64 MB SMS064FF SD Card | 5 333 kB/s 661 kB/s | 8 595 kB/s 1 607 kB/s |
SD/MMC SPI | ST STM32F107VC 72-Mhz | Nokia 64 MB SMS064FF SD Card | 947 kB/s 444 kB/s | 1 010kB/s 793 kB/s |
SD/MMC SPI | ST STM32F107VC 72-MHz (w/CRC) | Nokia 64 MB SMS064FF SD Card | 759 kB/s 388 kB/s | 800 kB/s 655 kB/s |
NAND | Atmel AT91SAM9M10 400-Mhz | Micron MT29F2G08ABDHC 2Gb NAND flash | 9 039 kB/s 1 950 kB/s | 10 732 kB/s 4 332 kB/s |
NAND (auto-sync) | Atmel AT91SAM9M10 400-Mhz | Micron MT29F2G08ABDHC 2Gb NAND flash | 9 039 kB/s 1 336 kB/s | 10 732 kB/s 2 695 kB/s |
NOR (parallel) | ST STM32F103ZE 72-MHz | ST M29W128GL 16MB NOR flash | 2 750 kB/s 158 kB/s | 3 810 kB/s 310 kB/s |
NOR (serial) | ST STM32F103VE 72-MHz | ST M25P64 serial flash | 691 kB/s 55 kB/s | ---- kB/s ---- kB/s |
MSC | Atmel AT91SAM9M10 400-MHz | 64-GB SanDisk Cruzer | 613 kB/s 153 kB/s | 2 301kB/s 883 kB/s |