3_8_DOUBLEWEI Bootloader启动过程
2012-03-13 10:32
337 查看
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驱动程序
系统加电后,先执行第一阶段汇编代码,进行相应的内部硬件初始化(寄存器、内存等),将第二阶段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驱动程序
相关文章推荐
- Linux内核启动过程和Bootloader(总述)
- 简述bootloader启动过程及作用
- bootloader启动过程
- Linux内核启动过程和Bootloader
- TI OMAP Bootloader Project 关于启动过程
- Bootloader启动过程
- Linux内核启动过程和Bootloader(总述)
- Linux内核启动过程和Bootloader(总述)
- 【嵌入式】bootloader启动过程分析
- Bootloader启动过程
- 系统上电后 bootloader的执行流程及 ARM Linux的启动过程分析
- Linux中关于 -- Bootloader , Uboot的作用,和整个linux系统的启动过程分析
- bootloader 启动过程详细说明
- BootLoader启动过程分析
- 嵌入式Linux启动过程分析3-bootloader
- Bootloader的启动过程
- BootLoader启动过程
- 嵌入式系统的BootLoader技术浅析_启动过程
- 11、Linux内核启动过程和Bootloader(总述)
- linux启动过程---bootloader原理