嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验五 构件文件系统.ppt

嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验五 构件文件系统.ppt

ID:50348776

大小:150.00 KB

页数:15页

时间:2020-03-08

嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验五 构件文件系统.ppt_第1页
嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验五 构件文件系统.ppt_第2页
嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验五 构件文件系统.ppt_第3页
嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验五 构件文件系统.ppt_第4页
嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验五 构件文件系统.ppt_第5页
资源描述:

《嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验五 构件文件系统.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验五构件文件系统提纲实验目的实验原理实验内容实验小结习题与思考题实验目的了解嵌入式系统中的文件系统的作用、类型等了解JFFS2文件系统的优点和在嵌入式系统中的应用理解在ARMLinux系统中文件系统的挂载过程使用BusyBox来制作一个文件系统实验原理常用的嵌入式Linux文件系统简介EXT2fs文件系统JFFS2文件系统NFS文件系统RamdiskJFFS2文件系统使用了基于哈希表的日志节点结构,大大加快了对节点的操作速度支持数据压缩提供了“写平衡”支持支持多种节点类型提高了对闪存的利用率,降低了内存的消耗MTDMTD(memorytechnologyde

2、vice内存技术设备)是用于访问memory设备(ROM、flash)的Linux的子系统。MTD的主要目的是为了使新的memory设备的驱动更加简单,为此它在硬件和上层之间提供了一个抽象的接口。MTD的所有源代码在/drivers/mtd子目录下。我将CFI接口的MTD设备分为四层(从设备节点直到底层硬件驱动),这四层从上到下依次是:设备节点、MTD设备层、MTD原始设备层和硬件驱动层。MTD结构图MTD结构1Flash硬件驱动层:硬件驱动层负责在init时驱动Flash硬件,LinuxMTD设备的NORFlash芯片驱动遵循CFI接口标准,其驱动程序位于d

3、rivers/mtd/chips子目录下。NAND型Flash的驱动程序则位于/drivers/mtd/nand子目录下MTD原始设备:原始设备层有两部分组成,一部分是MTD原始设备的通用代码,另一部分是各个特定的Flash的数据,例如分区。用于描述MTD原始设备的数据结构是mtd_info,这其中定义了大量的关于MTD的数据和操作函数。mtd_table(mtdcore.c)则是所有MTD原始设备的列表,mtd_part(mtd_part.c)是用于表示MTD原始设备分区的结构,其中包含了mtd_info,因为每一个分区都是被看成一个MTD原始设备加在mtd

4、_table中的,mtd_part.mtd_info中的大部分数据都从该分区的主分区mtd_part->master中获得。MTD结构2在drivers/mtd/maps/子目录下存放的是特定的flash的数据,每一个文件都描述了一块板子上的flash。其中调用add_mtd_device()、del_mtd_device()建立/删除mtd_info结构并将其加入/删除mtd_table(或者调用add_mtd_partition()、del_mtd_partition()(mtdpart.c)建立/删除mtd_part结构并将mtd_part.mtd_in

5、fo加入/删除mtd_table中)。MTD设备层:基于MTD原始设备,linux系统可以定义出MTD的块设备(主设备号31)和字符设备(设备号90)。MTD字符设备的定义在mtdchar.c中实现,通过注册一系列fileoperation函数(lseek、open、close、read、write)。MTD块设备则是定义了一个描述MTD块设备的结构mtdblk_dev,并声明了一个名为mtdblks的指针数组,这数组中的每一个mtdblk_dev和mtd_table中的每一个mtd_info一一对应。MTD结构3设备节点:通过mknod在/dev子目录下建立

6、MTD字符设备节点(主设备号为90)和MTD块设备节点(主设备号为31),通过访问此设备节点即可访问MTD字符设备和块设备。根文件系统:在Bootloader中将JFFS(或JFFS2)的文件系统映像jffs.image(或jffs2.img)烧到flash的某一个分区中,在/arch/arm/mach-your/arch.c文件的your_fixup函数中将该分区作为根文件系统挂载。文件系统:内核启动后,通过mount命令可以将flash中的其余分区作为文件系统挂载到mountpoint上。实验内容-使用BusyBox构件文件系统BusyBox简介Busyb

7、ox是DebianGNU/Linux的大名鼎鼎的BrucePerens首先开发提供许多命令,工具等支持多种体系结构编译BusyBox下载BusyBox配置makemenuconfig配置文件系统建立etc目录建立rc文件建立inittab文件配置motd文件建立init.d目录制作JFFS2文件映像使用mkfs.jffs2工具#./mkfs.jffs2-orootfs.img-e0x40000-r_install-p-l习题与思考题比较romfs、extfs2、jffs2等文件系统的优缺点?使用BosyBox制作一个文件系统,并使用jffs2作为系统的根文件系

8、统加载。试分析jffs2文件系统的加载

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。