嵌入式系统设计实验告BootLoader移植实验.docx
- 文档编号:27617507
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:20
- 大小:2.68MB
嵌入式系统设计实验告BootLoader移植实验.docx
《嵌入式系统设计实验告BootLoader移植实验.docx》由会员分享,可在线阅读,更多相关《嵌入式系统设计实验告BootLoader移植实验.docx(20页珍藏版)》请在冰豆网上搜索。
嵌入式系统设计实验告BootLoader移植实验
学院
嵌入式系统设计实验报告
(2013-2014第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)
四、实验过程
1、Micro2440配置
在mini2440/micro2440上的移植准备工作,我们仍然将开发板文件建立在board/samsung下,
2、配置时出现错误,字体要修改,复制粘贴的时候出现的错误,有的地方有中文,去掉就行了。
3、编译完成失败,只有上网查找错误,最后解决了错误。
11
12
4、编译完成后将u-boot.bin下载到SDRAM的0x33f80000地址处,u-boot已经能在RAM中运行。
二、支持DM9000
1、编译完成后将u-boot.bin下载到SDRAM的0x33f80000地址处。
三、支持核启动
1、编译完成后将u-boot.bin下载到SDRAM的0x33f80000地址处。
四、支持NandFlash
1、编译完成后将u-boot.bin下载到SDRAM的0x33f80000地址处。
五、实验小结
本实验需要熟悉Bootloader工作原理,了解U-Boot源码结构,基于S3C2440处理器,完成U-Boot移植,并在目标开发板上测试通过,首先可以看到实验指导书上的介绍,了解U-Boot的移植。
开始主要是利用U-Boot源码(u-boot-2011.03.tar)进行配置,建立Micro2440配置、在RAM中运行、支持DM9000、支持核启动、支持NandFlash、支持yaffs下载、支持NandFlash启动等配置。
本次实验中虽然不要我们自己编写程序。
但是对于初学者的我们还是有点难度的,主要是时间限制,所以实验都是在课下完成的。
但是这样我们学习的更加深刻。
有充足的时间去消化这些知识。
当然我们也基本完成了主要的移植,学会了最基本的思想,希望接下来的实验我们仍然可以很好的完成。
六、思考题
1、Bootloader的结构分两部分,简述各部分的功能。
(1)OEMstartupcode
这部分代码是在BootLoader中最先被执行的。
它的主要功能是初始化最小围的硬件设备,比如设置CPU工作频率、关闭看门狗、设置cache、设置RAM的刷新率、填写存控制寄存器(通知CPU有效的数据总线引脚数)等。
由于系统刚刚启动,不适合使用复杂的高级语言,因此这部分代码主要由汇编程序完成。
在汇编程序段设置完堆栈后,就跳转到C语言的Main函数入口(位于
(2)Maincode
这部分代码由C语言实现,是BLCOMMON代码的一部分,它可以用来执行比较复杂的操作。
比如检测存和Flash的有效性、检测外部设备接口、检测串口并且向已经连接的主机发送调试信息、通过串口等待命令、启动网络接口、建立存映射等汇编无法完成的工作。
2、ARM常用的Bootloader程序有哪些?
简要说明。
嵌入式Linux系统中常用的Bootloader引导程序有U-Boot,redboot,blob和vivi等,其中U-Boot遵循GPL条款的开放源码项目,功能最为强大;U-Boot对PowerPC系列处理器支持最丰富,同时还支持MIPS,x86,ARM,Nios,XScale等诸多常用系列的处理器。
1)U-Boot:
全称UniversalBootLoader,是遵循GPL条款的开放源码项目。
从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。
其源码目录、编译形式与Linux核很相似,事实上,不少U-Boot源码就是相应的Linux核源程序的简化,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。
2)Redboot是在ECOS的基础上剥离出来的,继承了ECOS的简洁、轻巧、可灵活配置、稳定可靠等品质优点。
它可以使用X-modem或Y-modem协议经由串口下载,也可以经由以太网口通过BOOTP/DHCP服务获得IP参数,使用TFTP方式下载程序映像文件,常用于调试支持和系统初始化(Flash下载更新和网络启动)。
3)Blob功能比较齐全,代码较少,比较适合做修改移植,用来引导Liunx,目前大部分S3C44B0板都用Blob修改移植后来加载uClinux。
4)vivi是国mizi公司开发的bootloader,适用于ARM9处理器。
Vivi有两种工作模式:
启动加载模式和下载模式。
启动加载模式可以在一段时间后(这个时间可更改)自行启动linux核,这是vivi的默认模式。
在下载模式下,vivi为用户提供一个命令行接口,通过接口可以使用vivi提供的一些命令
3、简述u-boot的启动的两部分流程。
从固态存储设备上启动的BootLoader大多都是2阶段的启动过程,也即启动过程可以分为stage1和stage2两部分。
在stage1阶段,通常将完成以下工作(以执行的先后为顺序):
1.硬件设备初始化,通常只初始化的最基本的设备,如存控制器、串口等设备
2.为加载BootLoader的stage2准备存空间
3.复制BootLoader的stage2到存空间中
4.设置堆栈
5.跳转至stage2的入口点
BootLoader的stage2通常包括以下步骤:
1.初始化本阶段要使用到的硬件设备,如以太网、USB等
2.检测系统存的映射
3.将核映像和根文件系统映像从固体存储器Flash等上读到存空间中
4.设置核启动参数
5.启动核
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 设计 实验 BootLoader 移植