基于ARM嵌入式系统的Bootloader启动分析与移植
开发案例
基于ARM嵌入式系统的Bootloader启动分析与移植*
黄健,陈荣征,李代平,
张希花
(广东工业大学计算机学院,广州510006)
摘
要:Bootloader启动代码的分析与移植是嵌入式产品研发中最重要的环节之一,介绍嵌入式
及一般Bootloader的启动过程;并重点分析了U-系统中Bootloader的基本概念和功能、
boot在ARMS3C2410嵌入式系统中的启动过程和移植过程。
关键词:启动;移植;Bootloader;U-boot;嵌入式系统;ARM;S3C2410
0引言
嵌入式系统出于经济性、价格方面的考虑一般不
配置BIOS,必须自行编写,这就是所需要的开机程序[1]。
Bootloader与PC中的BIOS类似,是操作系统和应用程序运行前的一段必须运行的一段代码,具有初始化处理器、外围硬件设备、加载操作系统的作用。Boot-
loader在嵌入式系统中与硬件紧密结合,硬件配置不同时,Bootloader启动代码也不同,一般可以对同类型的Bootloader启动代码修改与硬件相关的部分而使用。
1Bootloader的有关概念和功能
Bootloader最主要的功能是引导加载内核镜像。
图1Bootloader引导系统和加载内核的流程图
启大多数Bootloader都包含两种不同的操作模式:“动加载”模式和“下载”模式,这种区别对于开发人员才有意义[3]。一般Bootloader启动过程主要分为两个阶段:Stage1和Stage2。Stage1代码主要用于初始化及初始化本阶段需要使用的硬件,一般采用汇CPU、
编语言编写,以提高系统运行的效率。Stage2用C语言来实现,可以实现复杂的功能,同时代码具有更好的可读性和可移植性。Bootloader根据实现的功能不同,具体的目标系统和开发系统不同,使得每一种芯片的启动代码差别较大,通常,Bootloader引导系统和加载内核的流程如图1所示。
2U-boot在S3C2410上的启动分析
U-boot是由开源项目PPCBoot发展起来的,是目
前应用最为广泛的Bootloader开源项目之一,目前已广泛应用于PowerPC、ARM嵌入式系统中。U-boot与大多Bootloader项目启动和移植过程类似,以下内容分析了U-boot在S3C2410嵌入式系统中启动过程中两个阶段的代码过程。
2.1启动过程Stage1分析
U-boot的Stage1代码通放在start.s文件中,它用汇编语言写成,主要按步骤完成以下工作:
(1)定义入口
在由于一个可执行的Image必须有一个入口点,
现
代计算机(总第二六三期*资金项目:广西自然科学基金赞助项目(桂科自0229009)
收稿日期:2007-06-05
修稿日期:2007-07-16
作者简介:黄健(1976-),男,重庆人,硕士研究生,研究方向为ARM嵌入式系统和网络并行计算
基于ARM的嵌入式系统BootLoader的编译与启动分析_专业资料。近年,嵌入式技术已取得了飞速的发展,但是,有关其最本质的核心部分BootLoader的介绍却不是很多,实践证明,Bo...
(嵌入式与 SOC)2005 年第 21 卷第 11-2期 基于 ARM 的嵌入式系统 Bo o tlo a d e r 启动流程分析S tartupCodeAnalyzeofEmbeddedSystem’Bootloaderbasedon...
基于ARM的嵌入式系统BootLoader的编译与启动分析 嵌入式系统BootLoader嵌入式系统BootLoader隐藏>> 第7 卷第 1期2740年7 月17一1((7 1一7(61192)45 1碎8X) 科...
基于ARM的嵌入式系统Bootloader启动流程分析_信息与通信_工程科技_专业资料。嵌入式系统启动流程分析基于ARM 的嵌入式系统 Bootloader 启动流程分析来源:西部工控网 引言...
基于ARM9嵌入式系统的Bootloader移植_专业资料。如今在移动通信领域嵌入式系统是融合...最终把U-boot成功地移植到了目标开发板上,为能够正确启动嵌入式Linux操作系统作...
基于ARM 的嵌入式系统 Bootloader 启动流程分析万永波 1 张根宝 1 田泽 2 杨峰 1 (1:陕西科技大学电气与电子工程学院,陕西省咸阳市人民西路 49 号,712081 2...
基于ARM的嵌入式系统Bootloader启动流程分析基于ARM的嵌入式系统Bootloader启动流程分析隐藏>> 基于ARM 的嵌入式系统 Bootloader 启动流程分析 2008-2-26 22:33:00 0...
的,但对不同的系统板其Bootloader不完全相同,因此需要针对系统板移植Bootloader。分析了基于ARM$3C2410嵌入式系统的启动流程,给出了每一环节的关键代码。介绍了...
中文核心期刊 《 微计算机信息)嵌入式与 SC20 年第 2 卷第 1-期(O)05112 基于A M的R 嵌入式系 otae 启动流 析挽B oldro 程含SatCdAazoEeddsm'Boldr ...
热门文档