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

总结:

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

 

STL简析(PPT_示例代码_mannual)

  • 2009年09月19日 11:56
  • 207KB
  • 下载

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

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

office app 代码简析之 task pane app

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

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

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

内核usb键盘代码简析

内核:linux-3.4.99 学习了韦东山第二期视频关于USB鼠标模拟键盘那一章,现在自己简单分析下内核自带的usb键盘源码。(drivers\hid\usbhid\Usbkbd.c) 当插入键盘...

Android WebView远程代码执行漏洞简析

0x00    本文参考Android WebView 远程代码执行漏洞简析。代码地址为,https://github.com/jltxgcy/AppVulnerability/tree/master...
  • jltxgcy
  • jltxgcy
  • 2016年02月16日 20:17
  • 2908

简析Jenkins的SVN插件未更新到最新代码

摘要 简析Jenkins的SVN插件未更新到最新代码 在使用Jenkins做持续集成时,遇到Jenkins的SVN插件没有更新到最新的代码的情况。 例如,在代码提交之后就立即使用Jenk...
  • lrcoop
  • lrcoop
  • 2016年09月08日 11:09
  • 1400

超精简kernel代码简析(可能存在理解上的问题,还请多多指正)

SA16225055冯金明 原创作品转载请注明出处  《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000  实验过程以及...

性能测试 工具 TProfile 代码简析

对TProfile (https://github.com/taobao/TProfiler)产生了兴趣,于是就下下来研究了一下: 非常简单小巧,代码质量也很高,最多20个class。其实现的核心原...
  • Sefler
  • Sefler
  • 2012年08月20日 19:33
  • 3098
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:BootLoader代码简析
举报原因:
原因补充:

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