BootLoader代码简析

原创 2006年05月30日 15:26:00

--------Professionaler(自由人)

定义:首先,BootLoader是一段单独的程序代码(功能相当与PC机的BIOS),它存放于目标平台的非易失存储介质中,如ROMFlash

作用:在开发CE的过程中,它主要用于启动硬件和下载IMAGE到目标板上,并有一定的监控作用。

流程:(图传不上来)

分析:

Main函数 BootLoader里面的主函数,而BootloaderMain又是Main函数里面主要个函数,

先就BootloaderMain里面的函数做简单的介绍:(只分析流程不做代码评估)

1KernelRleocate :主要功能是OS Link Fill   ROM  IMAGEpToc .实际上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 并检查数据。

5OEMLaunch:这个函数主要功能就是launch the image

总结:

这部分每家有自己不同的做法,架构自然千齐百怪,但最终目的可以归一。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

bootloader 启动过程详细说明

今天早上看了一上午的bootloader简单源码,终于捋顺了bootloader的执行过程,之前只是知道bootloader代码会先被irom中的代码拷贝到iram中一部分,然后执行这部分代码,会把整...

STL代码简析

  • 2012-04-17 22:50
  • 207KB
  • 下载

Android FakeID任意代码注入执行漏洞简析

博文作者:金刚项目团队发布日期:2014-09-01阅读次数:100博文内容:u  漏洞背景 国外安全机构BlueBox在2014年7月30日公布了一个关于APK签名的漏洞——FakeID,攻击者可利...

功能强大的图片截取修剪神器:Android SimpleCropView及其实例代码重用简析

 功能强大的图片截取修剪神器:Android SimpleCropView及其实例代码重用简析 SimpleCropView是github上第一个第三方开源的图片修剪截取利器,功能强大,设...

STL简析(PPT,实例代码)

  • 2013-04-23 23:02
  • 207KB
  • 下载

office app 代码简析之 task pane app

上篇介绍了 office 2013 app 之 task pane app(从新建到发布到office 365 SharePoint)   http://blog.csdn.net/faraway...

内核usb键盘代码简析

内核:linux-3.4.99 学习了韦东山第二期视频关于USB鼠标模拟键盘那一章,现在自己简单分析下内核自带的usb键盘源码。(drivers\hid\usbhid\Usbkbd.c) 当插入键盘...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)