基于ARM平台和NANflash启动技术的u_bt移植过程浅析.docVIP

基于ARM平台和NANflash启动技术的u_bt移植过程浅析.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ARM平台和NANflash启动技术的u_bt移植过程浅析.doc

基于ARM平台和NAND flash启动技术的 u- boot移植过程浅析 朱运乔 (湖北职业技术学院信息技术学院湖北孝感432000) 】BootLoader移植是嵌入式系统幵发中一个非常重要工作环节。本文着重分析了 u-boot的启动过程和NAND flash在u-boot中的 读写实现,并给出了在u-boot的移植中实现NAND flash启动的相关思路及其休方法。 关键词】嵌入人系统;ARM;BootLoader;NAND flash;u-boot Analysis of Porting Process of u-boot Based on ARM Platform and Technology of Booting from Nand Flash ZHU Yun-qiao (Department of Information Technology,Hubei Polytechnic Institute,Xiaogan Hubei, 432000) Abstract】Porting of BootLoader is a very important part in the embedded system development process.This paper analyzes booling of u -boot and the reading and writing implementation of Nand flash,and Put forward ideas and specific methods related to achieve booting from nand flash in Porting process of u-boot. Key words]Embedded systems; ARM;BootLoader;NAND flash;u-boot 0引言 u -boot是徳闲DENX小织的开发用于多种嵌入式CPU的 Bootloader程岸,u-boot不仅仅支持眹入式Linux系统的引导.当前, ?ik?还支持 NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS 嵌入式操 作系统。u-boot除了支打PowerPC系列的处理器外.还能支持MIPS、 x86、ARM, NIOS、XScale等谘多常用.系列的处理器。 H盼关于u-boot的移植解决方案主要面向的是微处玛器屮CK NOR flash.而NAND flash闪存容荦大.价格便宜,如果能扣微处理器 .1?.的NAND flash中实现u-boot的启动,则不仅有效降低嵌入式应用 系统的成本,也给实际应用带米极人的方便。 u-boot的启动过程 跟其它BootLoader程序一样,u-boot在操作系统内核或用户应用 枳序运行之前运行。通过这段小积序,我们可以初始化硬#?没备、建々 内存空间的映射图.从而将系统的软硬件环境带到一个合适的状态. 以便为最终调川操作系统内核或用广应W程序准备好IT确的环境, 我们一般把Bootloader都分为阶段1(stage1)和阶段2(stage2)两大 部分,依赖T CPU休系结构的代码(如CPU初始化代码等〉通常都放 在阶段1屮目.通常用?L编语言实现.而阶段2则通常用C语言來实 现,这杆可以文现S杂的功能,而且有更好的可读性和移植性。 阶段1为汇编代码,对r arm920t的CPU核对应的昆cpu/ arm920t/start.s文件。其主敗流程如卜\ 设置CPU的模忒为SVC模式 关闭右门狗 禁掉所有中断 设置CPU的频率 把自己拷贝到RAM 配宜㈧存区控制寄存器 配置的栈空间 进入C代码部分 阶段 2 足 C 语言代码,lib^arm/board.c 中的 start_armboot 是 C 开始的函数.也是整个启动代中C iS 5的主函数/这个函数调 W —系列的初始化函数,然后进入主UBOOT命令行,进入命令循环 (即整个boot的丁.作循坏),接受用户从串丨I输入的命令,然后进行扣 应的T作。当用户输入启动linux的命令的吋候,u-boot会将kernel睐 像(zlmage)和从NAND flash上读到RAM空间巾,为内核设S启动参 数,凋用内核.从而启动linux。u-boot整个后动过程见图1。 Nand flash在u-boot中的读写实现 Nand flash闪存的T.作模式分力叫种:自启动模式和?般的 NAND flash读M操作模式。在自启动模式下,由于NAND flash自身的  , 1 I an电率y?位 | 式 |采势中断 |递gCPp屏芬豕 |拷臾到RAM I fcSp存区 * I fegpxusr : X

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档