Flash文件系统
深圳市完美体育·(中国)手机网页版科技有限公司是ARM公司官方授权全线工具产品代理商, 提供ARM公司原装正版开发工具(包括本产品 MDK-ARM)的销售服务,以及ARM工具产品的市场推广、产品更新、技术支持和售后服务。
概念:MDK-ARM也称KEIL MDK-ARM、KEIL ARM、Realview MDK、I-MDK、uVision4 等,系为同一产品。
MDK-Professional版本包括一个Flash文件系统,能够让你的嵌入式应用程序在标准的存储设备(例如ROM、RAM和SD/MMC/SDHC内存卡)上面进行创建、保存、读取和修改文件操作。
产品亮点
-
标准的ANSI C文件I/O应用接口
-
同时支持NOR Flash和NAND Flash
-
RAM、ROM和SD/MMC/SDHC内存卡
-
兼容Windows的FAT12/FAT16/FAT32文件系统格式(包括子目录和长文件名支持)
-
SD/MMC卡文件高速缓冲提供了高速读/写访问
-
可重载和线程安全操作
-
可同时访问多个存储设备
-
基于对话框的μVision 配置向导设置
-
提供完整的 文档 和SD/MMC/SDHC 实例项目
- 详见Flash文件系统特性的完整列表
许多基于ARM内核的微控制器对一个标准的文件系统有实际的需求。在Flash文件系统帮助下,你可以在嵌入式应用程序中实现新的特性,像数据记录、在备用模块中存储程序状或者存储固件升级。
1. Flash文件系统作为MDK-Professional版本中的一部分,以二进制格式来被提供。其它的MDK-ARM编辑器均不支持。
2. 在商业产品中,要实现支持带长文件名的文件系统,则需要得到一份来自Microsoft公司的许可。
Flash文件系统的特点
特点 | |
文件系统支持 | |
ANCI C 库 API (fopen, fread, etc) | |
FAT12, FAT16, FAT32 | |
子文件夹支持 | |
长文件名支持 | |
ROM中文件表 | |
文件系统的碎片整理 | |
媒体支持 | |
ROM | |
RAM | |
Flash | |
SPI Flash | |
SD/MMC/SDHC Cards | 1-bit, 4-bit & SPI interfaces |
最大设备内存大小 | 32GB |
其他特点 | |
时间标记 | |
同时访问不同的媒体 | |
多块读取和写入命令 | |
SD / MMC文件缓存 | |
Flash ROM设备驱动程序 (与ULINK Flash Driver类似) |
|
多线程实现 | |
存储卡格式 使用优化的簇大小和对齐 |
|
存储卡热插拔 |
Flash文件系统性能
目标板 | 设备 | 内核 | CPU [MHz] | 卡接口 | 写 [KB/s] | 读 [KB/s] |
MCBSTM32 |
ST STM32 |
Cortex-M3 | 72.0 |
SPI at 18MHz |
711.1 | 758.1 |
LM3S8962 |
TI LM3S8962 |
Cortex-M3 | 50.0 |
SPI at 12.5MHz |
537.8 | 607.6 |
LM3S6965 |
TI LM3S6965 |
Cortex-M3 | 50.0 |
SPI at 12.5MHz |
539.2 | 603.6 |
LM3S3768 |
TI LM3S3768 |
Cortex-M3 | 50.0 |
SPI at 12.5MHz |
539.5 | 603.8 |
AT91SAM9260-EK | Atmel AT91SAM9160 | ARM9 | 96.1 |
SD4 at 25MHz |
4785.0 | 5044.0 |
AT91SAM9261-EK | Atmel AT91SAM9161 | ARM9 | 96.1 |
SD4 at 25MHz |
4790.6 | 5069.3 |
AT91SAM9G20-EK | Atmel AT91SAM9G20 | ARM9 | 96.1 |
SD4 at 25MHz |
4899.5 | 5418.0 |
AT91SAM9RL-EK | Atmel AT91SAM9RL64 | ARM9 | 96.1 |
SD4 at 25MHz |
4096.0 | 5211.2 |
MCB2460 | NXP LPC2468 | ARM7 | 48.0 |
SD4 at 24MHz |
4084.3 | 5525.9 |
MCB2360 | NXP LPC2368 | ARM7 | 48.0 |
SD4 at 24MHz |
3946.3 | 5330.6 |
MCB2140 | NXP LPC2148 | ARM7 | 60.0 |
SPI at 7.5MHz |
299.4 | 313.4 |
MCBSTR9 | ST STR912 | ARM9 | 48.0 |
SPI at 12MHz |
355.2 | 357.1 |
MCBSTR750 | ST STR750 | ARM7 | 60.0 |
SPI at 15MHz |
402.2 | 416.1 |
1. 给出的数字均是工作在4KB块里占用4MB数据取得。
Flash文件系统的内存要求
文件系统组件 | 代码大小 (KBytes) | RAM大小 (KBytes) |
stdio库核 | 4.73 | 0.94 |
文件系统核 | 2.98 | 0.47 |
FAT文件系统 | 代码大小(KBytes) | RAM大小(KBytes) |
LFN支持的FAT | 9.41 | 0.83 |
存储卡支持 | 1.34 | 0 |
STM32F2xx SDIO HW 驱动 | 0.85 | 0 |
LPC17xx SPI 驱动 | 0.36 | 0 |
NAND 支持(FTL) | 8.54 | 0.34 + (2* page size) |
STM32F2xx NAND 驱动 | 1.41 | 0 |
SAM3xx NAND 驱动 | 1.02 | 0 |
嵌入式Flash文件系统 | 代码大小(KBytes) | RAM大小(KBytes) |
嵌入式Flash文件系统 | <5.00 | 0.28 |
SST39x320x Flash HW 驱动 | 0.22 | 0.01 |
STR91x Flash HW 驱动 | 0.31 |
1. 所有的实例数字基于Cortex-M3内核。
2. 所有值都以最小的数据缓冲区,并没有应用程序代码的最低要求。
3. 典型的NAND页大小 – 小容量(512B+16B),大容量(2048B+64B)。
更多内容