- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM教材第6 嵌入式文件系统
嵌入式文件系统 陈文智 wzchen@ 浙江大学计算机学院 2005年4月 提纲 1、嵌入式Linux文件系统简介 2、Linux文件系统框架和特性 3、嵌入式文件系统实验 实验一:建立文件系统 实验二:NFS文件系统实验 实验三:Samba介绍与应用 1. 嵌入式Linux文件系统简介 嵌入式文件系统与桌面文件系统有较大区别 :嵌入式文件系统要为嵌入式系统的设计目的服务,不同用途的嵌入式操作系统下的文件系统在许多方面各不相同。 嵌入式Linux常用文件系统:第二版扩展文件系统(Ext2fs)、JFFS和YAFFS 1.1嵌入式文件系统的设计目标 嵌入式文件系统的设计目标包括: 使用简单方便 安全可靠 实时响应 接口标注的开放性和可移植性 可伸缩性和可配置性 开放的体系结构 资源有效性 功能完整性 热插拔 支持多种文件类型 1.2 嵌入式Linux常用文件系统 Flash Memory简介 Flash Memory上的两种技术 NAND:串行;顺序读取;适合大容量;通常需MTD NOR :并行;随机读取;适合数据或程序存储;XIP; Xsbase开发平台上所使用的闪存 Intel StrataFlash Memory 28F128J3A Ext2fs 、JFFS和YAFFS ext、 ext2、xia、vfat、minix、msdos、umsdos、 proc、smb、ncp、iso9660、sysv、hpfs、affs、ufs、vfs等 第二版扩展文件系统(Ext2fs)的优点 Ext2fs支持达4 TB的内存(Ext是2G)。 Ext2fs文件名称最长可以到1012个字符。 当创建文件系统时,管理员可以选择逻辑块的大小(通常大小可选择 1024、2048和4096字节)。 Ext2fs实现快速符号链接:不需要为此目的而分配数据块,并且将目标名称直接存储在索引节点表中,这使性能有所提高,特别是在速度上。 JFFS和YAFFS JFFS文件系统主要针对NOR FLASH设计,是一种基于Flash的日志文件系统。 JFFS2的底层驱动主要完成文件系统对Flash芯片的访问控制,如读、写、擦除操作。 YAFFS主要针对NAND FLASH设计,和JFFS相比它减少了一些功能。自带NAND芯片驱动,并且为嵌入式系统提供了直接访问文件系统的API。 YAFFS2是YAFFS的改进版本。 2. Linux文件系统框架和特性 现代操作系统都提供多种访问存储设备的方法 Linux文件系统有两条独立控制设备驱动的途径 : 通过设备驱动的接口 通过文件管理器接口 Linux文件系统框架 3. 文件系统实验 实验一 建立文件系统 建立JFFS2文件系统 建立RAMFS文件系统 实验二 NFS文件系统实验 实验三 Samba介绍与应用 实验一:建立文件系统JFFS2(1) JFFS2在Linux中有两种使用方式 : 作为根文件系统 作为普通文件系统在系统启动后被挂载 目录采用Ramfs,当系统断电后,该目录所有的数据都会丢失。 Linux下常用文件系统结构 : 实验一:建立文件系统JFFS2(2) 1)内核配置 General Setup项设成 “root=1f03 rw console=ttyS0,115200 init=/linuxrc” 通过MTD驱动在menuconfig中调用flash memory设备驱动 选择 CFI Flash device mapped on the XSBASE255 PXA255 board 实验一:建立文件系统JFFS2(3) 2)JFFS2映像生成 Jffs2 image通过 mkfs.jffs2 工具创建成 image mkfs.jffs2 用法:-e 选项确定闪存的擦除扇区大小(通常是64K)。-p 选项用来在映像的剩余空间用零填充。-o 选项用于输出文件,这里是rootfs.img 利用bootloader将生成的 rootfs.img下载后写入flash 再次重起开发板,内核就能加载JFFS2作为根文件系统 实验一:建立文件系统RAMFS(1) RAMFS是内存文件系统,它工作于虚拟文件系统(VFS)层 RAMFS是一个非常巧妙的,利用VFS自身结构而形成的内存文件系统 实验一:建立文件系统RAMFS(2) 1)使用主机的loopback设备来实现loopback文件系统 用dd if=/dev/zero of=ramdisk_img bs=1k count=8192 指令创建一个连续的8M大小的空间 将此空间用 mke2fs格式化 为了对格式化的空间进行mount, 创建一个目录/tm
文档评论(0)