3_8_DOUBLEWEI Bootloader启动过程

原创 2012年03月13日 10:32:30

Bootloader启动过程:

系统加电后,先执行第一阶段汇编代码,进行相应的内部硬件初始化(寄存器、内存等),将第二阶段C代码复制到RAM地址bloc_abs_base,然后跳转到第二阶段开始执行,在第二阶段中,从汇编代码跳转到C 的main()函数,继续如下工作:

外围硬件初始化(串口、USB等);

将flash中的kernel加载到SDRAM的kernel区域;

将flash中的ramdisk加载到SDRAM的ramdisk区域;

根据用户选择,进入命令模块或启动kernel

 

还可以根据需要添加协议实现更复杂的功能如TFTP,当然要有相关硬件支持
常用的bootloader:

1:blob

是一款功能强大的bootloader,源代码开放

2:Armboot

是基于ARM的嵌入式系统设计的,它支持多种Flash

可以在:http://www.sourceforge.net/projects/armboot下载

3:Redboot

Redboot是由redhat公司开发的

下载地址:http://sources.redhat.com/redboot/

4:vivi

Vivi是开发源代码的,适用于用于ARM9,主要用于S3C2410,并且它的代码组织形式类似于linux,所以熟悉linux内核代码结构的人会很容易理解vivi的构造

5:u-boot

U-boot是遵循GPL条款的开发源代码项目,其源代码目录、编译形式与linux内核很相似

下载地址:http://sourceforge.net/projects/U-Boot

其特点:

(1)      支持多协议,SCC/FEC以太网、OOTP/TFTP引导、IP和MAC的预置功能

(2)      在线读写flash、DOC、IDE、IIC、EEROM、RTC

(3)      支持串口kermit和S-record下载代码,U-boot本身的工具可以把ELF32格式的可执行文件转换成S-record格式,直接从串口下载

(4)      识别二进制、ELF32、uImage格式的Image,对linux引导有独特的支持。U-boot对linux内核进一步封装为uImage

U-boot代码目录结构:

board:

commom:

cpu:

disk:

doc:

drivers:

fs:

include:

net:

lib_arm:

tools: 创建S-Record格式文件和U-boot的工具

examples:

lib_xxx:处理器体系相关的文件目录

post:上电自检文件目录

rtc:RTC驱动程序

嵌入式ARM体系结构及Bootloader开发

-
  • 1970年01月01日 08:00

BootLoader启动过程分析

BootLoader启动过程分析  一、    Boot Loader的概念和功能 1、嵌入式Linux软件结构与分布在一般情况下嵌入式Linux系统中的软件主要分为以下及部分: (1)引导加...
  • u011208567
  • u011208567
  • 2014-03-20 00:35:20
  • 3061

Bootloader介绍和启动

一、Bootloader的介绍 1.什么是Bootloader Bootloader是硬件启动的引导程序,是运行操作系统的前提。在操作系统内核或用户应用程序运行之前运行的一段小代码。对硬件进行相应...
  • cxj582667366
  • cxj582667366
  • 2014-12-27 16:40:49
  • 670

Android系统启动流程 -- bootloader

摘要:本文讲解Android系统在启动过程中的关键动作,摈弃特定平台之间的差异,讨论共性的部分,至于启动更加详细的过程,需要结合代码分析,这里给出流程框架,旨在让大家对开机过程更明了。   关键词...
  • lizhiguo0532
  • lizhiguo0532
  • 2011-11-27 20:32:11
  • 51615

bootloader 启动过程

一、    Boot Loader的概念和功能 1、嵌入式Linux软件结构与分布在一般情况下嵌入式Linux系统中的软件主要分为以下及部分: (1)引导加载程序:其中包括内部ROM中的固化启动代...
  • u014379540
  • u014379540
  • 2016-08-18 17:37:48
  • 1872

嵌入式系统的BootLoader技术浅析_启动过程

论文导读::嵌入式系统是以应用为中心、以计算机为基础、软硬件可裁剪。即启动过程可分为阶段1和阶段2两个部分。技术概述。 论文关键词:嵌入式系统,启动过程,BootLoader技术   一 Bo...
  • baidu_32712233
  • baidu_32712233
  • 2016-01-12 18:04:58
  • 826

STM32实现BootLoader过程

通信:电脑的bin文件传输给STM32读写Flash:跳转到新程序:中断向量表,偏移量x如下代码实现中断向量表的起始地址的重设 SCB->VTOR = FLASH_BASE | 0x10...
  • qq_31828027
  • qq_31828027
  • 2018-02-10 16:34:35
  • 81

bootloader 启动过程详细说明

今天早上看了一上午的bootloader简单源码,终于捋顺了bootloader的执行过程,之前只是知道bootloader代码会先被irom中的代码拷贝到iram中一部分,然后执行这部分代码,会把整...
  • u012497906
  • u012497906
  • 2015-01-06 11:14:29
  • 4298

ARM的启动方式和bootloader解析(上)

作者:vianowu                                   本期关键词:    NAND flash启动方式  Romboot  uboot 本期扩展关键词:NOR fl...
  • vianowu
  • vianowu
  • 2013-08-02 22:39:21
  • 2239

ARM9平台下嵌入式LINUX_Bootloader系统驱动程序的设计与实现

  • 2013年09月12日 20:26
  • 1.37MB
  • 下载
收藏助手
不良信息举报
您举报文章:3_8_DOUBLEWEI Bootloader启动过程
举报原因:
原因补充:

(最多只允许输入30个字)