注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

dp: 生活的脚步,进步的点滴...

Cam、DSP、FPGA、PM、Life、More ...

 
 
 

日志

 
 

Bootloader之我见  

2013-07-26 08:54:55|  分类: 专业 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
只是一个简短的记录,记录一下对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扩展功能,如网络通讯等,并不是核心的东西。那部分只要驱动移植, 就很容易从一个平台移植到另外一个平台。
  评论这张
 
阅读(333)| 评论(0)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016