基于SD卡的μC/FS文件系统在ARM上的移植研究
- 格式:pdf
- 大小:165.41 KB
- 文档页数:2
I r 数 字 i 技 术 用
基于 S D卡的 v L C / F S 文件系统在 A R M 上的移植研究
王 念 桥
( 武汉职业技术学院电信学院 湖北武汉 4 3 0 0 7 4 )
摘要 : 分析 了实践 中广泛应用 的移动设备 上数 据保存 的问题, 说 明 了在A RM系统 上应 用s D卡作为存储 器移植 c / F s 的方法 。 由f f - S D卡有 两种 工作 模式, 提 出了接 口隔 离的 策略 , 避免依赖 于s D卡的 工作模式, 从 而改进 了软件 的适应度 。 实践证 明, 该架构 实现 方便 、 易维护, 取 得 了较好 的效果 。 关键词 : s D卡 C / F S移 植 软件 架构 中圈分 类号 : T P 2 7 4 . 2 文献标 识码 : A 文章 编号 : 1 0 0 7 — 9 4 1 6 ( 2 0 1 3 ) 1 0 — 0 0 9 0 — 0 2
一
#i f F S— P0S I X— DI R— SUP PORT
#d e f i n e F S — DI R— M AX0PE N
b e t o f d i r e c t o r y ha n d l e s≈ #e n d i f
4 /* M a x i mu m r m m—
随着嵌入式系统广泛地应用于工业生产及 日常生活等各领域 , ( 1 ) 如果系统使用了操作系统 , 则在文件I s _ or c d. h中, 设置相 应 其功能变得更加多元化 , 产生的数据量也逐渐增加。 通常, 这些数据 的系 统 : 需要及时地保存到存储器 中以备将来使用, 因而对于存储器也提 出 #de f i n e FS — OS — U COS _ I I 1 /} 1 =u s e OS -I I / 了更多需求。 一般地 , 嵌入 式系统中的存储器要求可移动性好 、 可靠 “C/ 性高、 容量 大 、 速度 快 等 特 点 。 嵌 入 式 系统 中常 用 的存 储 器 有 C F 卡、 ( 2 ) 如 果希 望 文 件 系 统 支持 目录 操 作 , 则 在 文件 I s _ c o r d . h中 , 作 MM C 卡、 S D卡 、 T F ( Mi c r o S D ) 卡、 工 业 电子 盘 等 等 。 S D 卡 是 目前 广 如 下 设 置 : , . 泛使用的一种存储器 , 其特点是重量轻 、 体积小 、 快速安全等 , 它 由 #d e f i n e FS L POS I X— DI R— S UP P0RT 1 /* POS I X 1 0 0 3 . 1
MMC 卡发展而来 , 且 与 MM C 卡保 持 向 上 兼容 。
l i ke di r e ct or y s uppo r t ,
为方便开发 , 一般 嵌 入 式 系统 会 移 植 操作 系统 。 C / O S -Ⅱ是 个开源的实时嵌入式操作系统 , 在嵌入式领域有广泛的应用 , 但它 只 是一 个 实时 陛的 内核 , 没 有提 供 文件 管理 功 能 , 不 能 满足 数据 存 储 的需求。 为此 , 可在 C / O S —I I 内核之上增加文件系统。 C / F S 就 是应用于 u C / OS -Ⅱ内核之上的一个文件系统层 , 内置对F A T文 件系统 的支持 。 本文采用S D 卡作为物理存储介质 , 将 C / F S 移植 到 采 用 C / O S -I I 作 为 操 作 系 统 的ARM系 统 上 。
( 3 ) 在 文件 f s _ c o n f . h中 , 选择 MM C 设备驱动 , 使 其 支 持S D卡 。
#d e f i n e F S— USE — MM C — DRI VE R #d e f i n e F S — M M C— M AXUNI T #d e f i n e FS — MM C— CACH E NUM 1 1 1 0
设 定 系 统 中 作为 文件 存储 器 的S D 设 备的数量 : 如 果 需 要 为 设备 提供 缓 存 , 则 在 下 面设 定 期 望 的 缓 存 大 小 : 1 Βιβλιοθήκη u C I F S 文件 系统
“C / F S 与 C / O S -Ⅱ出 自同一 公 司 , 可 以 很方 便 地 移植 到基 于 c / o s -1 I 的嵌入式系统 。 实际上 , “C / F S 采用标 准AN S I C 编写 , 可 以方便地移植到任何操作 系统 。 u C / F S 1 . X版文件系统 采 用分 层 的 方 式 设 计 , 如图1 所示 。 AP I 层 是 应 用 程序 与 b t C / F S 文件系统的接 口, 包 含 一 个 函数 库, 提供了诸 ̄ U F S _ F O p e n ,F S _ F Wr i t e 等文件 操作 函数 。 AP I 层在 这 些函数 内部调用文件系统操作 , 完成 实际的文件操作。 文件系统 层将文件操作转换成对逻辑存储块 的访问, 并通过指定驱动器选择 实际的物理设备 。 逻辑块层封装 了底层设备驱动接 口, 向文件系统 层提 供 了一个 简单 易 用 的接 口。 设 备 驱动 层提 供 对 物 理 存储 设 备 的 实 际访 问接 口, 比如对扇 区的读写等操作。 目前 C / F S 在 文件 系统层提供 了对F A T的支持 , 然而A P I 也 可 以支持其它文件 系统 , 因此 , 只要提供 合适的接 口, u C / F S 也可 以支 持 其 它 文件 系统 。
C/ FS中还有数个 与移植相 关 的地方 需要注意 。 在文件 Fs i n f o . c e o, 保 留与S D设备驱动相关的结构定义。