- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 资料潍柴再回首wp4wp6装配工艺.pptx VIP
- NiMnGa铁磁形状记忆合金本构关系:理论、模型与应用的深度剖析.docx
- 过敏性鼻炎的合理用药参考答案-执业药师继续教育.docx VIP
- 量表设计与分析.doc VIP
- 苏州大学《普通物理一下》20套期末考试复习题(含答案).pdf VIP
- 2025年江西陶瓷工艺美术职业技术学院单招笔试职业技能考核试题库含答案解析.docx VIP
- YOLOv11+SlowFast-工业生产中的高危动作识别系统开发.pdf
- 厦门市建设工程施工现场围挡图集(2021版).pdf VIP
- 食材临时订货配送方案.docx VIP
- 基于改进SlowFast算法与融合YOLOv8模型的危险行为识别技术研究.docx VIP
原创力文档


文档评论(0)