修改NORFlash分区和JFFS2文件系统支持
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
修改NORFlash分区和JFFS2文件系统支持
修改NOR Flash分区和JFFS2文件系统支持
仇洁婷,陈儒军
本系统的NOR Flash用于存放启动代码、Linux内核、用户程序等,因此需要在Linux-2.6.21内核中对它进行配置和分区。
NOR Flash的驱动程序都集中的/drivers/mtd/maps里面。
通过make menuconfig对Linux2.6.21内核增加MTD和相应的文件系统的支持。
选择配置有:
Devices Drivers --->
Memory Technology Devices (MTD) --->
<*> Memory Technology Device (MTD) support
<*> MTD partitioning support
<*> Direct char device access to MTD devices
<*> Caching block device access to MTD devices
RAM/ROM/Flash chip drivers --->
<*> Detect flash chips by Common Flash Interface (CFI) probe
<*> Support for Intel/Sharp flash chips
Mapping drivers for chip access --->
<*> CFI Flash device mapped on AT91RM9200 由于系统采用电池供电,必须要确保在读取文件时,如果系统突然掉电,其文件的可靠性不受到影响。
JFFS2文件系统正是为这种类型的嵌入式设备创建的,它具有崩溃/掉电安全保护这一功能。
因此,本文将根文件系统挂载分区设置为JFFS2(Journalling Flash File System Version 2,闪存日志文件系统第2版)文件系统形式。
为了支持JFFS2文件系统,还需要在Linux-2.6.21内核配置:
File Systems --->
Miscellaneous filesystems-->
<*>Journalling Flash File System v2 (JFFS2) support
<*>Compressed ROM file system support (cramfs)
8M NOR Flash的分区信息如下图:
Bootloader分配在0x10000000~0x10030000,在系统上电时开始执行,用于初始化硬件设备和建立内存空间的映射图。
定制的Linux内核分配在0x10030000~0x10230000。
根文件系统包括了Linux系统运行所必需的应用程序、库等,分配在0x10230000~0x10630000。
剩余的1.8MB空间可用于存放用户应用程序。