基于MT6752的-android-系统启动流程分析报告精选.docxVIP

基于MT6752的-android-系统启动流程分析报告精选.docx

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
基于MT6752的-android-系统启动流程分析报告精选

基于MT6752的Android系统启动流程分析报告1、Bootloader引导22、Linux内核启动233、Android系统启动23报告人:日期:2016.09.03对于Android整个启动过程来说,基本可以划分成三个阶段:Bootloader引导、Linux kernel启动、Android启动。但根据芯片架构和平台的不同,在启动的Bootloader阶段会有所差异。本文以MTK的MT6752平台为例,分析一下基于该平台的Android系统启动流程。1、Bootloader引导1.1、Bootloader基本介绍BootLoader是在操作系统运行之前运行的一段程序,它可以将系统的软硬件环境带到一个合适状态,为运行操作系统做好准备,目的就是引导linux操作系统及Android框架(framework)。它的主要功能包括设置处理器和内存的频率、调试信息端口、可引导的存储设备等等。在可执行环境创建好之后,接下来把software装载到内存并执行。除了装载software,一个外部工具也能和bootloader握手(handshake),可指示设备进入不同的操作模式,比如USB下载模式和META模式。就算没有外部工具的握手,通过外部任何组合或是客户自定义按键,bootloader也能够进入这些模式。由于不同处理器芯片厂商对arm core的封装差异比较大,所以不同的arm处理器,对于上电引导都是由特定处理器芯片厂商自己开发的程序,这个上电引导程序通常比较简单,会初始化硬件,提供下载模式等,然后才会加载通常的bootloader。下面是几个arm平台的bootloader方案:marvell(pxa935) : ???????????bootROM + OBM + BLOBinformax(im9815) : ??????????? bootROM + barbox + U-bootmediatek(mt6517) : ??? bootROM + pre-loader + U-bootbroadcom(bcm2157) : ??????bootROM + boot1/boot2 + U-boot而对MT6752平台,MTK对bootloader引导方案又进行了调整,它将bootloader分为以下两个部分:(1)??第1部分bootloader,是MTK内部(in-house)的pre-loader,这部分依赖平台。(2)??第2部分bootloader,是LK(little kernel的缩写,作用同常见的u-boot差不多),这部分依赖操作系统,负责引导linux操作系统和Android框架。1.2、bootloader的工作流程1.2.1 bootloader正常的启动流程先来看启动流程图:正常启动的主要工作如下:(1)??设备上电后,Boot ROM开始运行。(2)??BootROM初始化软件堆栈(software stack)、通信端口和可引导存储设备(比如NAND/EMMC)。(3)??BootROM从存储器中加载pre-loader到内部SRAM(ISRAM)中,因为这时候还没有初始化外部的DRAM。(4)??BootROM跳转到pre-loader的入口处并执行。(5)??Pre-loader初始化DRAM和加载U-Boot到RAM中。(6)??Pre-loader跳转到U-Boot中并执行,然后U-Boot做一些初始化,比如显示的初始化等。(7)??U-Boot从存储器中加载引导镜像(boot image),包括linux内核和ramdisk(Android呢?)(8)??U-Boot跳转到linux内核并执行。1.2.2 bootloader正常的下载流程先来看正常的下载流程图:正常的下载主要工作如下:(1)??设备上电后,Boot ROM开始运行。(2)??BootROM初始化软件堆栈(software stack)、通信端口和可引导存储设备(比如NAND/EMMC)。(3)??BootROM通过UART/USB和flash工具握手。(4)??BootROM通过UART下载pre-loader镜像到NAND flash/EMMC中,然后重启。(5)??BootROM加载pre-loader到内部SRAM汇总,因为DRAM还没有初始化。(6)??BootROM跳转到pre-loader并执行。(7)??Pre-loader初始化DRAM和通过USB与flash工具握手。(8)??Pre-loader通过USB下载其余镜像文件,比如U-Boot、boot image、recovery image、android system image、user data到NAND FLASH/EMMC中。1.2.3 B

您可能关注的文档

文档评论(0)

feixiang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档