基于ARM的嵌入式系统Bootloader启动流程分析
基于ARM的嵌入式系统Bootloader启动流程分析2008-2-26 22:33:00
推荐
摘要:讲述了基于ARM处理器的嵌入式系统在上电启动后应用程序或操作系统运行前,对处理器及其内部功能模块进行初始化的过程,并结合经过实际验证的代码详细的分析了S3C44B0 Bootloader的运行过程。
关键字:ARM 嵌入式系统 Bootloader
一. 引言:
对于PC机,其开机后的初始化处理器配置、硬件初始化等操作是由BIOS(Basic Input /Output System)完成的,但对于嵌入式系统来说,出于经济性、价格方面的考虑一般不配置BIOS,因此我们必须自行编写完成这些工作的程序,这就是所需要的开机程序。而在嵌入式系统中,通常并没有像 BIOS 那样的固件程序,启动时用于完成初始化操作的这段代码被称为Bootloader程序,因此整个系统的加载启动任务就完全由Bootloader 来完成。简单地说,通过这段程序,可以初始化硬件设备、建立内存空间的映射图(有的CPU没有内存映射功能如S3C44B0),从而将系统的软硬件环境设定在一个合适的状态,以便为最终调用操作系统内核、运行用户应用程序准备好正确的环境。Bootloader依赖于实际的硬件和应用环境,因此要为嵌入式系统建立一个通用、标准的Bootloader是非常困难的。Bootloader也依赖于具体的嵌入式板级设备的配置,这也就是说,对于两块不同的嵌入式主板而言,即使它们是基于同一 CPU 而构建,要想让运行在一块板子上的 Bootloader 程序也能运行在另一块板子上,通常都需要修改 Bootloader 的源程序。
二. 启动流程
系统加电复位后,几乎所有的 CPU都从由复位地址上取指令。比如,基于 ARM7TDMI内核的CPU在复位时通常都从地址 0x00000000处取它的第一条指令。而以微处理器为核心的嵌入式系统通常都有某种类型的固态存储设备(比如EEPROM、FLASH等)被映射到这个预先设置好的地址上。因此在系统加电复位后,处理器将首先执行存放在复位地址处的程序。通过集成开发环境可以将Bootloader定位在复位地址开始的存储空间内,因此Bootloader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,比如功能简单仅包括应用程序的系统,但在系统启动时都必须执行Bootloader,为系统运行准备好软硬件运行环境。
系统的启动通常有两种方式,一种是可以直接从Flash启动,另一种是可以将压缩的内存映像文件从Flash(为节省Flash资源、提高速度)中复制、解压到RAM,再从RAM启动。当电源打开时,一般的系统会去执行ROM(应用较多的是Flash)里面的启动代码。这些代码是用汇编语言编写的,其主要作用在于初始化CPU和板上的必备硬件如内存、中断控制器等。有时候用户还必须根据自己板子的硬件资源情况做适当的调整与修改。
系统启动代码完成基本软硬件环境初始化后,对于有操作系统的情况下,启动操作系统、启动内存管理、任务调度、加载驱动程序等,最后执行应用程序或
讲述 了基于 AM 处理 器的 嵌入 式 系统在上 电启 动后 R 应用程 序或 操作 系统运 行前 ,汁 处理 器 及其 内部 功舱模 块进 行初 始化 的过程 ,...
(嵌入式与 SOC)2005 年第 21 卷第 11-2期 基于 ARM 的嵌入式系统 Bo o tlo a d e r 启动流程分析S tartupCodeAnalyzeofEmbeddedSystem’Bootloaderbasedon...
中最重要的环节之一.介绍嵌入式系统中Boodoader的基本概念和功能、及一般Bootloader的启动过程:并重点分析了U-boot在ARM S3C2410嵌入式系统中的启动过程和移植过程。...
基于ARM 的嵌入式系统 Bootloader 启动流程分析万永波 1 张根宝 1 田泽 2 杨峰 1 (1:陕西科技大学电气与电子工程学院,陕西省咸阳市人民西路 49 号,712081 2...
基于ARM的嵌入式系统BootLoader的编译与启动分析_专业资料。近年,嵌入式技术已取得...因此,根据Linux系统的编译环境及嵌入式系统的编程特点,针对BootLoader的编译过程...
嵌入式系统BootLoader嵌入式系统BootLoader隐藏>> 第7 卷第 1期2740年7 月17一...Btde的编译过程, o肠ar 同时对 Bode的启动 otr肠a 流程进行了深人的分析。...
(3) 内核调用 [1]万永波, 张根宝, 田泽, 杨峰 . 基于 ARM 的嵌入式系统 Bootloader 启动流程分析 . 微计算机信息, 2005,21(11):90[2]马学文, 朱名日...
文中结合代码分析了基于 at91sam9260 的嵌入式系统 的 Bootloader 启动流程中的各个阶段及最终引导操作系统内核的过程.对进一步的系统功能 设计有很大的帮助。 关键字...
4. 第 3 页 文件: D:\My Documents\Downloads\arm嵌入式bootloader ootloader启动过程详解.txt 2015-1-21, 8:13:08 配置系统所使用的存储器,包括Flash,SRAM...
热门文档