- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MPC5125的U-BOOT移植方法
精品论文 参考文献
基于MPC5125的U-BOOT移植方法
佛山市峰华卓立制造技术有限公司 广东佛山
摘要:本文介绍了U-BOOT在FREESCALE的嵌入式CPU芯片MPC5125上的移植方法。通过分析U-BOOT的使用方法、运行机理以及源码架构,给出了U-BOOT在MPC5125上的移植方法和步骤。应用结果表明,移植后的U-BOOT在目标板上稳定运行,能加载Linux内核和根文件系统。
关键词:U-BOOT;MPC5125;内核;移植
1引言
U-BOOT[1]是一种开源的BOOTLOADER,由德国DENX小组开发。BOOTLOADER是在操作系统内核运行之前运行的一段小程序。这段程序完成硬件的初始化和建立内存空间的映射图等重要工作,为内核的启动创建正确的环境,并最终启动内核[2]。因此,U-BOOT的主体功能包括三个方面,一是初始化硬件,为启动操作系统提供合适的硬件环境;二是解释执行用户的命令,这既包括在与用户的交互中解释执行的用户指令,也包括UBOOT自动启动时执行的命令;三是启动操作系统。
U-BOOT提供了多个命令给用户使用。通过这些命令可以查看目标系统的信息、设置环境变量等。通过在U-BOOT的命令行中输入help可以查看所有支持的命令。本文将这些命令分为六大类,分别是信息查询命令、内存控制命令、FLASH操作命令和运行控制命令、数据下载命令和环境变量设置命令。
本文基于FREESCALE的POWERPC核的嵌入式处理器MPC5125和U-BOOT源码资源,通过分析U-BOOT的源码架构以及启动操作系统的机理,得出在MPC5125上移植U-BOOT的方法,最后详细介绍了移植U-BOOT的操作步骤。
2 U-BOOT的源码分析
2.1 U-BOOT的命令
U-BOOT命令包括信息查询命令、内存控制命令、FLASH操作命令和运行控制命令、数据下载命令和环境变量设置命令[3]。
信息查询命令包括bdinfo、coninfo、flinfo、iminfo和help。bdinfo用于打印板子信息,包括内存地址、时钟频率、MAC地址等,这些板级信息最终将传递给内核。coninfo用于打印串口信息,包括设备名、标识符和当前使用情况。flinfo用于打印当前系统的flash信息,如flash容量、扇区数、每个扇区的起始地址。iminfo用于打印linux内核的头部信息,包括映像名、映像类型、大小和CRC校验和。help命令用于打印帮助信息,当不指定具体命令时,它将打印当前U-BOOT映像所支持的所有命令。
内存控制命令包括base、crc32、cmp、cp和md。base用于打印和设置内存中的地址偏移量。crc32用于计算一段内存空间的校验和,其第一个参数表示计算校验和的内存起始地址,第二个参数表示需要计算校验和的内存大小,第三个参数表示计算出来的校验和将存放到的内存地址。第三个参数可以省略。cmp命令可以比较两段内存的内容是否相同,其第一个参数表示第一段内存的起始地址,第二个参数表示第二段内存的起始地址,第三个参数可有可无,若有,则表示比较该参数指定的内存大小,若无,则表示在碰到第一个不相等处退出命令执行。cp命令是最常用的命令之一,既可用于进行烧录flash,也可进行内存中数据的拷贝。该命令有三种变体——cp.b、cp.w和cp.l,分别表示按字节拷贝、按字拷贝和按长字拷贝。其第一个参数表示源地址,第二个参数表示目的地址,第三个参数表示需要拷贝的内存大小。md命令用于以十六进制显示指定内存地址的内容。该命令也有三个变体——md.b、md.w和md.l,分别表示按字节、字和双字显示。
FLASH操作命令包括cp、flinfo、erase和protect命令。cp和flinfo命令在前文已经详细介绍,这里仅介绍erase和protect命令。
erase命令用于擦除flash中的内容,是最常用的命令之一,这是因为每次flash烧录前都必须对flash进行擦除。erase命令有四种形式:
1)erase start end:擦除由start和end指定的起始地址和末尾地址之间的一段flash空间
2)erase N:SF[-SL]:通过指定bank号和擦除块的范围进行flash擦除,擦除bank N中SF至SL之间的区域,一个bank通常指连接到CPU片选的一块存储区域
3)erase bank N:擦除整个bank N
4)erase all:擦除整块flash
您可能关注的文档
最近下载
- 《电路基础》陈佳新(习题详细参考答案).doc
- 中国成人社区获得性肺炎诊断和治疗指南(2016年版).pdf VIP
- 2023-2024学年上海中学高一(下)期末考化学试题及答案.pdf VIP
- 25秋《学霸提高班》单元达标测试卷一年级语文上册.pdf VIP
- 安徽二造水利一计量与计价实务课程讲解.pdf VIP
- 2025年人教版(2024)小学信息科技四年级(全一册)教学设计(附教材目录 P208).docx
- 药品从业人员基本情况登记表-附件6.doc
- MZT 174-2021 养老机构康复辅助器具基本配置.docx VIP
- 中心静脉导管冲管及封管专家共识解读2025.pptx VIP
- 2025《建筑施工行业公司事故隐患内部报告奖励管理制度》新修订版.pdf VIP
原创力文档


文档评论(0)