文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > 工程科技 > 信息与通信 > 基于ARM嵌入式系统的Bootloader启动分析与移植
侵权投诉

基于ARM嵌入式系统的Bootloader启动分析与移植

基于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嵌入式系统和网络并行计算

第1页

你可能喜欢

  • 嵌入式系统引导
  • Linux内核配置
  • S3C6410
  • linux内核移植
  • 嵌入式系统开发流程
  • 嵌入式系统ARM
  • ARM嵌入式系统基础教程

热门文档

相关文档

站点地图 | 文档上传 | 侵权投诉 | 手机版
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.guandang.net All Rights Reserved.  -  email