基于arm平台和nandflash启动技术的u_boot移植过程浅析

基于arm平台和nandflash启动技术的u_boot移植过程浅析

ID:11576535

大小:4.75 MB

页数:3页

时间:2018-07-12

基于arm平台和nandflash启动技术的u_boot移植过程浅析_第1页
基于arm平台和nandflash启动技术的u_boot移植过程浅析_第2页
基于arm平台和nandflash启动技术的u_boot移植过程浅析_第3页
资源描述:

《基于arm平台和nandflash启动技术的u_boot移植过程浅析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于ARM平台和NANDflash启动技术的u-boot移植过程浅析朱运乔(湖北职业技术学院信息技术学院湖北孝感432000)【摘要】BootLoader移植是嵌入式系统开发中一个非常重要工作环节。本文着重分析了u-boot的启动过程和NANDflash在u-boot中的读写实现,并给出了在u-boot的移植中实现NANDflash启动的相关思路及具体方法。【关键词】嵌入式系统;ARM;BootLoader;NANDflash;u-bootAnalysisofPortingProcessofu-bootBasedonARMPlatformandTechnologyofBo

2、otingfromNandFlashZHUYun-qiao(DepartmentofInformationTechnology,HubeiPolytechnicInstitute,XiaoganHubei,432000)【Abstract】PortingofBootLoaderisaveryimportantpartintheembeddedsystemdevelopmentprocess.Thispaperanalyzesbootingofu-bootandthereadingandwritingimplementationofNandflash,andPutforwa

3、rdideasandspecificmethodsrelatedtoachievebootingfromnandflashinPortingprocessofu-boot.【Keywords】Embeddedsystems;ARM;BootLoader;NANDflash;u-boot引言0u-boot是德国DENX小组的开发用于多种嵌入式CPU的Bootloader程序,u-boot不仅仅支持嵌入式Linux系统的引导,当前,它还支持NetBSD,VxWorks,QNX,RTEMS,ARTOS,LynxOS嵌入式操作系统。u-boot除了支持PowerPC系列的处理器外

4、,还能支持MIPS、x86、ARM、NIOS、XScale等诸多常用系列的处理器。目前关于u-boot的移植解决方案主要面向的是微处理器中的NORflash,而NANDflash闪存容量大,价格便宜,如果能在微处理器上的NANDflash中实现u-boot的启动,则不仅有效降低嵌入式应用系统的成本,也给实际应用带来极大的方便。1u-boot的启动过程跟其它BootLoader程序一样,u-boot在操作系统内核或用户应用程序运行之前运行。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核或用户

5、应用程序准备好正确的环境。我们一般把Bootloader都分为阶段1(stage1)和阶段2(stage2)两大部分,依赖于CPU体系结构的代码(如CPU初始化代码等)通常都放在阶段1中且通常用汇编语言实现,而阶段2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。阶段1为汇编代码,对于arm920t的CPU核对应的是cpu/arm920t/start.s文件。其主要流程如下:设置CPU的模式为SVC模式关闭看门狗禁掉所有中断设置CPU的频率把自己拷贝到RAM配置内存区控制寄存器配置的栈空间进入C代码部分阶段2是C语言代码,在lib_arm/boa

6、rd.c中的start_armboot是C语言开始的函数,也是整个启动代码中C语言的主函数。这个函数调用一系列的初始化函数,然后进入主UBOOT命令行,进入命令循环(即整个boot的工作循环),接受用户从串口输入的命令,然后进行相应的工作。当用户输入启动linux的命令的时候,u-boot会将kernel映像(zImage)和从NANDflash上读到RAM空间中,为内核设置启动参数,调用内核,从而启动linux。u-boot整个启动过程见图1。2Nandflash在u-boot中的读写实现Nandflash闪存的工作模式分为两种:自启动模式和一般的NANDflash读写

7、操作模式。在自启动模式下,由于NANDflash自身的图1u-boot启动过程特点不能够直接在芯片内部执行程序,因此在在cpu内核中内置了一片SRAM配合NANDflash实现自启动系统。系统加电,NANDflash存储空间的前4kB数据(也就是u-boot第一阶段)以硬件的方式被拷贝到SRAM中;然后SRAM中的u-boot代码开始执行,运行到第二阶段把NANDflash中u-boot的全部拷贝到SDRAM中继续执行,然后引导内核的启动和根文件系统的挂载。对于NANDflash的基本读写操作模式,主要是关于NANDflash

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

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

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