Bootloader介绍

1. 软件角度看嵌入式系统,分为三个层次
1). 引导加载程序
a). 包含在固件(firmware)中的boot程序,如PC机上的BIOS【可选的,有的没有】
b). Bootloader : 将内核从硬盘上读到内存中,然后跳到内核的入口点去运行,即启动操作系统
Lilo Linux磁盘引导程序 支持x86,不支持ARM、PowerPC
Grub GNU的Lili代替程序 支持x86,不支持ARM、PowerPC
U-boot 通用引导程序,支持x86,ARM,PowerPC
Redboot 基于eCos的引导程序,支持x86,ARM,PowerPC
...
2). Linux内核
3). 文件系统

2. bootloader移植
1). 移植类型
芯片级的移植 : 由于使用的CPU等都不一样
板级的移植 : 使用同样的CPU,但是硬件资源不同

3. bootloader的流程
根据启动过程可分为
1). Single-Stage 单阶段
2). Multi-Stage 多阶段 : 具有更复杂的功能,更好的移植性
大多采用两阶段
Stage1 : 汇编语言实现,(因为C语言环境在这个阶段还没有准备好)
a). 完成初始化硬件 : 包括初始化CPU内部寄存器
b). 为Stage2准备内存空间,并将Stage2复制到内存中 : 在RAM里速度比Flash里要快
c). 设置堆栈 : Stage2的C代码要用到堆栈
d). 然后跳到Stage2
Stage2 : 
a). 初始化硬件 : 初始化板级的一些硬件,比如串口、网卡、
b). 将内核映像和根文件系统映像从flash上读到RAM中
c). 调用内核
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值