EBOOT的架构如图:

BLCOMMON:相当于EBOOT的一个基本框架,主要完成bootloader相关内存的分配,解析NK.bin文件并进行效验,初始化平台,通过网络下载image等功能。

OEM Code:主要是基于硬件平台,为BLCOMMON提供相应的接口函数,帮助完成相应的功能。

Eboot:一个小的网络协议栈,为网络下载image提供DHCP,TFTP,UDP等网络服务功能。

Network Driver:硬件平台的网络驱动部分,支持上层的网络功能。

Bootpart:为Flash设备提供分区功能,bootloader可以创建一个BinFS分区和一个文件系统分区。还可以用它来创建一个引导分区用来存放引导参数。

Flash Memory:硬件平台的Flash驱动。

EBOOT流程:

eboot(.nb0)是先被nboot之类的上电执行的代码拷贝到指定地址的ram中去,并执行。先是一段汇编,用以设置cpu时钟,屏蔽中断之类的,然后就是跳到main中去执行。这个函数直接调用BootloaderMain,并不再回头了。不过可以在这个main函数中打开led,以调试看eboot有没有跑到c函数的main中去。

所有的内容,包括下载nk和启动都是在BootloaderMain中实现。从大的方面说它调用了OEMPlatformInit,DownloadImage,OEMLaunch这3个功能函数。
OEMPlatformInit进入menu,让用户选择下一步所要执行的操作,并配置以太网控制器。如果是要下载nk则DownloadImage,如果从flash启动则加载并OEMLaunch(启动要从flash加载的话是在OEMPlatformInit中执行的)。
所有eboot的操作几乎都是通过 pToc(很多值是通过boot.bib来映射的,g_pBootCfg是pToc的一个成员)这个结构连接在一起的。它包括所有用到的配置,例如是否在down完之后写flash等。
修改boot.bib中FLSCACHE的值,它是所down的nk在ram中的开始地址和长度。

loader.h中定义了很多宏需要注意,例如ROM_RAMIMAGE_START和ROM_RAMIMAGE_SIZE的值应该和config.bib中的对应。

EBOOT架构及流程相关推荐

  1. VLC架构及流程分析

    0x00 前置信息 VLC是一个非常庞大的工程,我从它的架构及流程入手进行分析,涉及到一些很细的概念先搁置一边,日后详细分析. 0x01 源码结构(Android Java相关的暂未分析) # bui ...

  2. 发布在线文档【软件=业务+架构+流程+组织.pptx】

    10年的技术工作,软件这个词对我来说一点都不陌生,但是当我问自己如何理解软件的?我却不知道如何回答.软件=业务+架构+流程+组织,其中公式是借用软件产品线工程BAPO的概念,我觉得不错,这个ppt就是 ...

  3. 关于系统架构你不知道的那些事-架构设计流程:评估和选择备选方案

    关于系统架构你不知道的那些事-架构设计流程:评估和选择备选方案 前言 架构设计第 3 步:评估和选择备选方案 评估和选择备选方案实战 备选方案 1:采用开源 Kafka 方案 备选方案 2:集群 + ...

  4. 关于系统架构你不知道的那些事-架构设计流程:设计备选方案

    关于系统架构你不知道的那些事-架构设计流程:设计备选方案 前言 架构设计第 2 步:设计备选方案 第一种常见的错误:设计最优秀的方案. 第二种常见的错误:只做一个方案. 第三种常见的错误:备选方案过于 ...

  5. 图解研发团队架构、流程和绩效管理

    图解研发团队架构.流程和绩效管理

  6. Gavin老师Transformer直播课感悟 - Rasa项目实战之银行金融Financial Bot智能业务对话机器人架构与流程及Rasa Interactive实验剖析(八十)

    本文继续围绕工业级业务对话平台和框架Rasa,对Rasa项目实战之银行金融Financial Bot智能业务对话机器人架构.流程进行解析,并通过Rasa Interactive分析配置文件中各个组件的 ...

  7. 从零开始学架构——架构设计流程

    架构设计流程 结合复杂度来源和架构设计原则,通过一个模拟的设计场景"前浪微博",和你一起看看在实践中究竟如何进行架构设计. 架构设计第1步:识别复杂度 架构设计的本质目的是为了解决 ...

  8. muduo网络库学习总结:基本架构及流程分析

    muduo网络库学习:基本架构及流程分析 基本架构 Basic Reactor Mutiple Reactor + ThreadPool muduo库的基本使用 基本结构介绍 EventLoop类 P ...

  9. .net erp(办公oa)开发平台架构之流程服务概要介绍

    背景 搭建一个适合公司erp业务的开发平台. 架构概要图:     流程引擎开发平台:   包含流程引擎设计器,流程管理平台,流程引擎服务.目前只使用单个数据库进行管理.   流程引擎设计器 采用si ...

最新文章

  1. 号称下一代监控系统?
  2. 突然开掉CEO!通用电气时隔一年再换帅,金融和工业互联网都救不了GE?
  3. 实验管理系统java,大学生创新实验室信息管理系统 java+mysql
  4. Scala,Spark和IDEA学习笔记
  5. [转载] Java中的静态方法不能被子类重写
  6. php教程mvc,php.MVC教程
  7. MPLS virtual private network OptionB实验(华为设备)
  8. 《51单片机应用开发从入门到精通》——2.8 用外部中断控制灯闪烁
  9. 控件Repeater的嵌套使用
  10. Ra2辅助制作(1)
  11. 流媒体服务器Wowza Streaming Engine 4安装升级教程
  12. Tcl 语言 ——表达式篇
  13. 众筹系统源码 java_以太坊 众筹系统
  14. VMware下载与安装教程(详细)
  15. 这可能是你能找到最全面的数据预处理介绍
  16. 新手零基础快速入门Docker
  17. 修改dpr提高ECharts图表的清晰度
  18. Go实现简单的TCP服务端客户端通信(有黏包)
  19. linux c 开发数据,Linux c 开发
  20. 在linux用utorrent下载文件,教你在 Ubuntu 安装 uTorrent

热门文章

  1. cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso
  2. java 获取下周一日期
  3. Jetty in Win7
  4. Oracle 表解锁
  5. CSDN全自动灌水机
  6. 网站推荐:检索全球范围内有趣实用的网站【持续更新】
  7. 计算机视觉领域稍微容易中的期刊系列(二)1
  8. 超经典爆笑的人生格言
  9. (转)25款实用的桌面版博客编辑器
  10. ant design 地区选择(级联)