(精品)U-BOOT的启动流程及移植

上传人:仙*** 文档编号:172701464 上传时间:2022-12-06 格式:DOC 页数:6 大小:106.50KB
收藏 版权申诉 举报 下载
(精品)U-BOOT的启动流程及移植_第1页
第1页 / 共6页
(精品)U-BOOT的启动流程及移植_第2页
第2页 / 共6页
(精品)U-BOOT的启动流程及移植_第3页
第3页 / 共6页
资源描述:

《(精品)U-BOOT的启动流程及移植》由会员分享,可在线阅读,更多相关《(精品)U-BOOT的启动流程及移植(6页珍藏版)》请在装配图网上搜索。

1、U-BOOT的启动流程及移植 摘要:嵌入式系统一般没有通用的bootloader,u-boot是功能强大的bootloader开发软件,但相对也比较复杂。文中对u-boot的启动流程作了介绍,详细给出了u-boot在S3C44B0开发板上的移植方法和步骤。 Bootloader及u-boot简介 代码是芯片复位后进入操作系统之前执行的一段代码,主要用于完成由硬件启动到操作系统启动的过渡,从而为操作系统提供基本的运行环境,如初始化、 堆栈、存储器系统等。 代码与 芯片的内核结构、具体型号、应用系统的配置及使用的操作系统等因素有关,其功能类似于机的程序。由于和及电路板的配置情况有关,因此不可能有通

2、用的 ,开发时需要用户根据具体情况进行移植。嵌入式系统中常用的有、等,其中是当前比较流行,功能比较强大的,可以支持多种体系结构,但相对也比较复杂。的实现依赖于的体系结构,大多数都分为 和 两大部分。的基本原理见参考文献。是网站上的一个开放源代码的项目。它可对 、 、(、)、(、)、等处理器提供支持,支持的嵌入式操作系统有、-、等,主要用来开发嵌入式系统初始化代码。软件的主站点是 。 最初是由的-发展而来的,它对系列处理器的支持最完善,对 操作系统的支持最好。源代码开放的软件项目经常更新,是学习硬件底层代码开发的很好样例。 u-boot系统启动流程大多数都分为和两大部分,也不例外。依赖于体系结构

3、的代码(如设备初始化代码等)通常都放在且可以用汇编语言来实现,而则通常用语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。 (代码结构)的代码通常放在文件中,它用汇编语言写成,其主要代码部分如下:() 定义入口 。由于一个可执行的必须有一个入口点,并且只能有一个全局入口,通常这个入口放在()的地址,因此,必须通知编译器以使其知道这个入口,该工作可通过修改连接器脚本来完成。()设置异常向量( )。()设置的速度、时钟频率及中断控制寄存器。()初始化内存控制器 。()将中的程序复制到中。()初始化堆栈 。()转到中执行,该工作可使用指令 来完成。 语言代码部分 中的 是语言开始的函数

4、,也是整个启动代码中语言的主函数,同时还是整个()的主函数,该函数主要完成如下操作:()调用一系列的初始化函数。()初始化设备。()初始化系统内存分配函数。()如果目标系统拥有设备,则初始化设备。()如果目标系统有显示设备,则初始化该类设备。()初始化相关网络设备,填写、地址等。()进入命令循环(即整个的工作循环),接受用户从串口输入的命令,然后进行相应的工作。 移植实例本系统开发板主要由嵌入式微处理器、的 ()、的()、个以及 接口组成。该开发板上与相关部分的功能框图如图所示。 文件下载文件的下载有两种方法,第一种是在环境下通过下载最新的文件,方法是: 当要求输入匿名登录的密码时,可直接按回

5、车键 第二种是通过 下载正式发布的压缩文件。 文件的结构初次下载的文件有很多,解压后存放在文件目录下,具体内容已在文件中做了详细的介绍,其中与移植相关的主要文件夹有:()它的每个子文件夹里都有如下文件: 和处理器相关的代码 中断处理代码 串口初始化代码 全局开始启动代码()它的每个子文件夹里都有如下文件: 和板子相关的代码(以为例) 操作代码 初始化代码 对应的连接文件() 体系结构下的相关实现代码,比如等的汇编语言的优化实现。 交叉编译环境的建立要得到下载到目标板的二进制启动代码,还需要对下载的进行编译。的编译一般在系统下进行,可用-进行编译。一步一步建立交叉编译环境通常比较复杂,最简单的方

6、法是使用别人编译好的交叉编译工具,方法如下:()在下载 ()以用户名登录,将 解压到 目录下 ()在下载 只是用了它的头文件而已,主要来自内核下()将 解压到 下 ()拷贝头文件到 下然后删除 这样就建立了 交叉编译环境。()增加到路径环境变量: 可以检查路径变量是否设置正确。 移植的预先编译移植到新的开发板上仅需要修改与硬件相关的部分即可。主要包括两个层面的移植,第一层是针对的移植,第二层是针对的移植。由于 里面已经包含的移植,所以笔者对板子的移植主要是针对的移植。移植之前需要仔细阅读目录下的文件,其中对如何移植做了简要的介绍。为了减少移植的工作量,可以在目录下选一个和要移植的硬件相似的开发

7、板,笔者选的是开发板。具体步骤如下:() 下的文件夹里已经包括了的目录,其下已经有以及 几个文件,因而不需要建立与相关的目录。()在目录下创建目录以及-、和 等文件。不需要从零开始创建,只需选择一个相似的目录直接复制过来,然后修改文件名及内容即可。笔者在移植过程中选择的是 目录。()在目录下添加,在这里可放入全局的宏定义等也不需要从头创建,可以在目录下寻找相似的的头文件进行复制,这里笔者用的是文件来进行相关的修改。() 对根目录下的文件进行修改,加入_ : (:_) () 修改根目录下的文件,加入对板子的申明。然后在 中加入、 。()运行 ,删除错误的文件。()运行 。()执行到此处即表示整个

8、软件的已建立,这时可修改生成的中的交叉编译选项,然后打开 文件,并找到其中的语句:(),)_ 接着将其改成(),) 这一步和上面的设置环境变量只要有一个就可以了。执行,报告有一个错误,修改中的 为,重新编译即可通过。 移植时的具体修改要点若预先编译没有错误就可以开始硬件相关代码的移植,首先必须要对移植的硬件有清楚地了解,如、的控制寄存器及启动各阶段程序在中的布局等。笔者在移植过程中先修改 -头文件中的大部分参数(大部分的宏定义都在这里设置),然后按照的启动流程逐步修改。修改时应熟悉汇编语言和语言,同时也应对启动流程代码有深入的了解。板的频率为、为、为、串口波特率为、环境变量放在中。根据两个开发

9、板的不同,需要修改的有:的频率、和容量的大小、环境变量的位置等。由于参考板已经有了大部分的代码,因此只需要针对进行相应的修改就可以了。与之相关的文件有 (大部分的宏定义都在这里设置)、的驱动序、 (的驱动程序)、(串口的驱动使能部分)等。 是全局宏定义的地方,主要的修改有:将 改为 ;将 改为 ;将 改为 ;将 改为 ;将 改为 其它(如堆栈的大小等)可根据需要修改。由于、的容量会发生变化,故应对启动阶段程序在、中的位置重新作出安排。笔者将中的代码放在开始的地方,而将复制到中的代码安排在开始的地方。的修改不仅和容量有关,还和具体型号有关,存储器的烧写和擦除一般不具有通用性,应查看厂家的使用说明

10、书,针对不同型号的存储器作出相应的修改。修改过程中,需要了解擦写特定寄存器的写入地址、数据命令以及扇区的大小和位置,以便进行正确的设置。要修改的地方主要是初始化内存控制器部分,由文件中的 完成 的设置,并由 中的完成初始化。提供有控制器,与一些需要表编程相比,它只需进行相关寄存器的设置修改即可,因而降低了开发的难度。串口波特率不需要修改(都是),直接用板的串口驱动即可。串口的设置主要包括初始化串口部分,值得注意的是:串口的波特率与时钟有很大关系,详见用户手册。配置好以后,便可以重新编译代码。将得到的通过口下载到目标板后,如果能从串口输出正确的启动信息,就表明移植基本成功。实际过程中会由于考虑不周而需要多次修改。移植成功后,也可以添加一些其它功能(如驱动等),在此基础上添加功能相对比较容易。 结束语是一个功能强大的开发软件,适用的平台及支持的嵌入式操作系统很多。本文是笔者在实际开发过程中根据相关资料进行摸索,并在成功移植了的基础上总结出来的。对于不同的和开发板,其基本的方法和步骤是相同的,希望能对相关嵌入式系统的设计人员有所帮助。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!