- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
合肥学院
嵌入式系统设计实验报告
(20 13 - 20 14第 2学期)
专业:
实验项目: BootLoader 移植实验
实验时间: 2014 年 5 月 19 日
实验成员:
__________________________________
__________________________________
指导老师:
电子信息与电气工程系
2014年4月制
实验三 BootLoader移植实验
一、实验目的
1、熟悉Bootloader工作原理。
2、了解U-Boot的代码结构。
3、掌握U-Boot移植过程。
二、实验内容
本实验熟悉Bootloader工作原理,了解U-Boot源码结构,基于S3C2440处理器,完成U-Boot移植,并在目标开发板上测试通过。
三、实验设备
硬件:1、pc机
2、FriendlyARM开发套件即MIRCO2440核心板
软件:1、虚拟机(VMware)
2、U-Boot源码(u-boot-2011.03.tar)
四、实验过程
Micro2440 配置
在 mini2440/micro2440 上的移植准备工作,我们仍然将开发板文件建立在 board/samsung 下,
配置时出现错误,字体要修改,复制粘贴的时候出现的错误,有的地方有中文,去掉就行了。
编译完成失败,只有上网查找错误,最后解决了错误。
11
12
4、编译完成后将 u-boot.bin 下载到 SDRAM 的 0x33f80000 地址处,u-boot 已经能在 RAM 中运行。
二、支持 DM9000
1、编译完成后将 u-boot.bin 下载到 SDRAM 的 0x33f80000 地址处。
三、支持内核启动
1、编译完成后将 u-boot.bin 下载到 SDRAM 的 0x33f80000 地址处。
四、支持 Nand Flash
1、编译完成后将 u-boot.bin 下载到 SDRAM 的 0x33f80000 地址处。
五、实验小结
本实验需要熟悉Bootloader工作原理,了解U-Boot源码结构,基于S3C2440处理器,完成U-Boot移植,并在目标开发板上测试通过,首先可以看到实验指导书上的介绍,了解U-Boot的移植。开始主要是利用U-Boot源码(u-boot-2011.03.tar)进行配置,建立 Micro2440 配置、在 RAM 中运行、支持 DM9000、支持内核启动、支持 Nand Flash、支持 yaffs 下载、支持 Nand Flash 启动等配置。
本次实验中虽然不要我们自己编写程序。但是对于初学者的我们还是有点难度的,主要是时间限制,所以实验都是在课下完成的。但是这样我们学习的更加深刻。有充足的时间去消化这些知识。当然我们也基本完成了主要的移植,学会了最基本的思想,希望接下来的实验我们仍然可以很好的完成。
六、思考题
1、Bootloader的结构分两部分,简述各部分的功能。
(1)OEM startup code
这部分代码是在BootLoader中最先被执行的。它的主要功能是初始化最小范围的硬件设备,比如设置CPU工作频率、关闭看门狗、设置cache、设置RAM的刷新率、填写内存控制寄存器(通知CPU有效的数据总线引脚数)等。由于系统刚刚启动,不适合使用复杂的高级语言,因此这部分代码主要由汇编程序完成。在汇编程序段设置完堆栈后,就跳转到C语言的Main函数入口(位于PLATNAME/eboot/main.c);
(2)Main code
这部分代码由C语言实现,是BLCOMMON代码的一部分,它可以用来执行比较复杂的操作。比如检测内存和Flash的有效性、检测外部设备接口、检测串口并且向已经连接的主机发送调试信息、通过串口等待命令、启动网络接口、建立内存映射等汇编无法完成的工作。
2、ARM常用的Bootloader程序有哪些?简要说明。
嵌入式Linux系统中常用的Bootloader引导程序有U-Boot,redboot,blob和vivi等,其中U-Boot遵循GPL条款的开放源码项目,功能最为强大;U-Boot对PowerPC系列处理器支持最丰富,同时还支持MIPS,x86,ARM,
原创力文档


文档评论(0)