linux2.6内核的vivi分区及内核mtd分区

linux2.6内核的vivi分区及内核mtd分区

ID:14602630

大小:89.00 KB

页数:6页

时间:2018-07-29

linux2.6内核的vivi分区及内核mtd分区_第1页
linux2.6内核的vivi分区及内核mtd分区_第2页
linux2.6内核的vivi分区及内核mtd分区_第3页
linux2.6内核的vivi分区及内核mtd分区_第4页
linux2.6内核的vivi分区及内核mtd分区_第5页
资源描述:

《linux2.6内核的vivi分区及内核mtd分区》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、编辑导读:浅谈Real-TimeLinux

2、ARM发布用于嵌入式系统的新产品

3、如何监控和保护Linux下进程安全

4、嵌入式数控系统体系结构研究

5、基于2.6.19内核的小型Linux系统制作与移植

6、解决优先级倒置问题的RTOS优先级调度策略

7、工程结果:遥控

8、嵌入式系统设计方法的演化

9、嵌入式系统开发面临的问题与集成开发环境的应用

10、嵌入式系统与普适计算

11、正文:    引言  与Linux2.4内核相比,Linux2.6内核在性能、模块支持、可用性、可测量性等方面有大幅度的提高。Linux2.6内核取代2.4内核是大势所趋。  ARM9 S3

12、C2410微处理器是一款由SAMSUNG公司为手持终端设计的低价格、低功耗、高性能,基于ARM920T核的微处理器。它与Linux的结合越来越紧密,逐渐在嵌入式领域得到广阔的应用。目前,在PDA、移动通信、路由器、工业控制等领域都可以看到S3C2410与Linux相结合的身影。  当前市场上基于S3C2410微处理器的开发板绝大部分都是用NandFlash作为主存储器。NandFlash是一种可在系统上进行电擦写,掉电后信息不丢失的存储器。  开发板从上电到内核启动需要一个引导程序,在嵌入式Linux系统下称为Bootloader。

13、vivi是韩国MIZI公司为其ARM9系列产品研发的BootLoader。  MTD(存储技术器件)是Linux内核采纳的一种设备子系统,它为底层的存储芯片提供了统一的设备接口。  然而,vivi的NandFlash分区(简称vivi分区)并不适合Linux2.6内核的需求,必须作出修改。而内核MTD分区是与vivi分区相对应的,随着vivi分区的改变也须重新定制。vivi分区与内核MTD分区的基本概念及两者关系的基础上,详细介绍了基于S3C2410开发板的Linux2.6内核下的vivi及内核MTD分区方法。  Vivi分区和内核

14、MTD分区的解析  Vivi分区解析  Vivi分区指的是给引导程序、内核映像、文件系统等在NandFlash上分配空间及起始地址。在vivi的命令模式下输入命令:partshow,可得vivi分区信息。未作修改的vivi分区信息如表1。  从信息中可知,vivi把NandFlash分为4个区,分别为vivi、param、kernel、root。信息中的offset表示各分区在NandFlash中的起始位置,size及的后面128k、64k、768k、1M+256k表示各分区的大小,flag为标识符。  未修改的vivi给放置内核映

15、像文件zImage的kernel分区只有768k,但2.6内核的映像文件 一般都超过1M。另外,MIZI公司针对其自身产品所设计的vivi只对略大于2M的NandFlash空间进行了分区;然而,S3C2410开发板的NandFlash容量为一般为32M或64M的,还有很大的空间可用。所以,重新定制vivi分区十分必要。内核MTD分区解析  Linux2.6内核的MTD能够支持ROM、RAM、FLASH(NOR和NAND)等存储芯片。MTD同时可提供两类MTD驱动程序,一类是MTD设备地址空间的映射,提供直接访问设备的操作;另一类则为

16、建立文件系统提供基础。  在基于Linux2.6内核的S3C2410开发板上,NandFlash上各段存储空间都被定义成MTD分区来管理的,各分区都可以通过Linux系统中的设备文件来访问。所以在内核中必须有MTD对引导程序、内核映像、文件系统在NandFlash上的分区信息。  vivi分区与内核MTD分区的关系  从NandFlash启动时,S3C2410硬件会自动把NandFlash前4K代码拷贝芯片内部RAM空间,CPU其实是从内部RAM开始执行代码的,所以vivi必须放到NandFlash顶端。vivi开始执行后将初始化硬

17、件设备、建立内存空间映射表,为调用内核做好准备;然后把压缩的内核映像加载到SDRAM中;最后跳转到内核映像入口,启动内核。  内核MTD分区必须与vivi分区相一致。因为,vivi分区中的地址是引导程序、内核映像及文件系统下载到NandFlash的真正地址;而内核启动时,内核并不是去读vivi分区中的地址,而是去读 vivi和内核MTD的重新分区  vivi的重新分区  根据开发板的NandFlash大小及开发用途确定新的vivi分区,如表2。  打开vivi源代码下的arch/s3c2410/smdk.c文件,在函数:“mtd_p

18、artition_default_mtd_partitions[]={}”中可以看到vivi默认的NandFlash分区信息。根据表2的新分区信息,在上述函数中以相同的格式修改原有分区信息即可完成vivi的重新分区。  内核MTD的重

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

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

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