现在的位置: 首页 > 综合 > 正文

BOOTLOADER 之我见

2013年09月03日 ⁄ 综合 ⁄ 共 628字 ⁄ 字号 评论关闭

篇只是一个简短的记录,记录一下对Bootloader的一些粗浅认识。

1.Bootloader真正核心的代码不过几百行汇编完成的工作高度依赖于硬件和将要运行的系统。

a.对于硬件,将硬件置于合适的工作状态;如ARM,关闭看门狗,关闭中断,初始化内存接口等

b.检测硬件的类别和数量,保存在合适的位置。为被引导软件服务。

c.搬运代码到合适的地方,并交接控制权。


2.为了调试或者系统升级的方便,Bootloader增加了很多功能。这些功能使bootloader的复杂度大大增加,也使得系统使用更加便利,但不是核心代码。

a.如通讯类的,串口通讯,网络通讯;

b.如工具类的,格式化Flash,烧写Flash校验烧写的代码,硬件检测和控制等。


3.BootLoader稳定性可靠性要求颇高,无外乎采用一些较为保守的策略,求稳求可靠。性能次之。

a.很多外设工作都采用查询方式,而非中断方式。如UART采用查询的方式;

b. 硬件工作在基本模式,而非扩展模式。如CPU的速度一般设置为可靠的工作速度,而非最大速度

c.选用简单的编程模型和事务处理模型。

4.Bootloader和硬件高度相关,一个系统平台和另外一个系统平台差异很大这里主要指Bootloader完成的核心任务。所以,理解Bootloader需要从硬件出发理解最本质最核心的东西。至于Bootloader扩展功能,如网络通讯等,并不是核心的东西。那部分只要驱动移植, 就很容易从一个平台移植到另外一个平台。


抱歉!评论已关闭.