flash文件系统
深圳市米尔科技有限公司是arm公司官方授权全线工具产品代理商, 提供arm公司原装正版开发工具(包括本产品 mdk-arm)的销售服务,以及arm工具产品的市场推广、产品更新、凯发k8官网的技术支持和凯发app的售后服务。
概念: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)。
更多内容