BootLoader代码简析(转)

定义:首先,BootLoader是一段单独的程序代码(功能相当与PC机的BIOS),它存放于目标平台的非易失存储介质中,如ROM或Flash。 作用:在开发CE的过程中,它主要用于启动硬件和下载IMAGE到目标板上,并有一定的监控作用。 流程:(图传不上来) 分析: Main函数 是BootLoader里面的主函数,而BootloaderMain又是Main函数里面主要个函数, 先就BootloaderMain里面的函数做简单的介绍:(只分析流程不做代码评估) 1.KernelRleocate :主要功能是OS Link 来Fill ROM IMAGE和pToc .实际上BootLoad所做的工作就是按照pToc定义的数据结构来复制内存块。 2.接着调用OEMDebugInit函数,在这个函数里面主要做的工作是全局函数指针变量的初始化(包括错误报告,内存数据校验,通知多个BIN文件下载)。其中OEMInitDebugSerial函数用于初始化串口,以便调试信息通过UART来互交。 3. 下一个函数OEMPlatformInit主要初始化系统的时钟,中断,驱动,I/O口等。初始化DOC、自定义的菜单及升级IMAGE的代码也可以放到这函数里面。 4.接下来是OEMPreDownload 通过不同的检测判断,取得要DOWNLOAD IMAGE的方式 如果TOC里面已经存在可用的并通过数据校验的IMAGE就直接跳转到OS开始执行的地址,开始启动OS ,反之通过某个途径(USB SD 卡 硬盘等设备路径)来DOWNLOAD IMAGE 并检查数据。 5.OEMLaunch:这个函数主要功能就是launch the image。 总结: 这部分每家有自己不同的做法,架构自然千齐百怪,但最终目的可以归一。 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/professionaler/archive/2006/05/30/763632.aspx
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值