定制android系统(配置及相关系统的镜像文件),具体可参考:Driver_All_in_One_V1.0——MT6735_6753.pdf文档,特别需要理解的是Download部分。

与之对应的软件是:Smart Phone Flash Tool,一般是在菜单栏的Download部分进行选择操作。

Download-agent(下载代理):选择 \升级固件与升级固件的工具\SP_Flash_Tool_exe_Windows_v5.1536.00.000 文件(通常不用特别选择,使用默认的即可)

Scatter-loading File(分区加载文件):\\s4.y\jenkins_share_2T\debug\k86s7_KST-T5\S1.00\KST-T5_H3.1_S1.k86s7.00目录中的 MT6735_Android_scatter.txt 文件

选择Download Type:三种方式可供选择,Format All + Download,Firmware Upgrade(固件更新),Download Only;一般默认地选择第二种Firmware Upgrade。

Scatter-loading File 分散加载是ARM连接器提供的一个机制,该机制可以把一个可执行镜像文件(即:.bin文件)分隔放置到内存的不同独立段。如下分析 MT6735_Android_scatter.txt 文件内容:

partition_index: SYS0

linear_start_addr: 0x0 physical_start_addr: 0x0 partition_size: 0x40000 region: EMMC_BOOT_1

partition_index: SYS1

linear_start_addr: 0x0 physical_start_addr: 0x0 partition_size: 0x80000 region: EMMC_USER

partition_index: SYS2

linear_start_addr: 0x80000 physical_start_addr: 0x80000 partition_size: 0x300000 region: EMMC_USER

partition_index: SYS3

linear_start_addr: 0x380000 physical_start_addr: 0x380000 partition_size: 0x500000 region: EMMC_USER

等等。

Firmware 固件指的是指写入EROM(可擦写只读存储器)和EEPROM(电可擦可编程只读存储器)中的程序(硬件的升级,主要是存储硬件的升级,导致能够重复刷写,让固件得以修改和升级),也就是设备内部保存的设备“驱动程序”;通过固件,操作系统才能按照标准的设备驱动实现特定机器的运行动作。

固件担任着一个系统最基础最底层的软件工作(或者称为神经中枢),比如:BIOS 基本输入和输出系统。在硬件设备中,固件就是硬件设备的灵魂,因为一些硬件设备除了固件以外没有其他软件组成,因此固件就决定着硬件设备的功能及性能。

Image下载过程

其中,需要导入到系统中的文件包括以下几个部分:

这些文件的类型如下:

在MPCore中,每个ARM的处理器一开始的记忆体位置都是0x00000000,通常我们可以有两种方法提供启动程序代码:1. NOR Flash;2. Boot Rom;但是NOR Flash存储成本较高。每个MTK BBC都内嵌有Boot ROM,用于储存简单的启动程序。复位时如果boot引脚被拉低,内部Boot ROM则被选择。Boot ROM里面存储着一个通过串口下载的小程序,此特性可用于下载或工厂测试。

默认情况下,Boot ROM根据接收到的数据响应其处理。Boot ROM和Host之间的通信有握手协议。以下是Boot ROM所支持的命令:

系统启动流程:

Image加载过程:

Android系统定制——Download Android System 及加载system镜像文件的更多相关文章

  1. Android系统定制和源码开发以及源码编译(附视频)

    Android系统定制配套视频: 为了把Android系统源码定制和编译的课程讲完,从准备到录制完所有的视频,一共花去了近半年的时间,前前后后各种下载源码,编译源码,系统不兼容,版本适配,虚拟机配置困 ...

  2. 携程Android App的插件化和动态加载框架

    携程Android App的插件化和动态加载框架已上线半年,经历了初期的探索和持续的打磨优化,新框架和工程配置经受住了生产实践的考验.本文将详细介绍Android平台插件式开发和动态加载技术的原理和实 ...

  3. 【Android 系统开发】 Android 系统启动流程简介

    作者 : 万境绝尘 (octopus_truth@163.com) 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/3889548 ...

  4. Android中ViewPager+Fragment取消(禁止)预加载延迟加载(懒加载)问题解决方案

    转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53205878本文出自[DylanAndroid的博客] Android中Vie ...

  5. Android中使用WebView, WebChromeClient和WebViewClient加载网页 (能够执行js)

    Android中使用WebView, WebChromeClient和WebViewClient加载网页   在android应用中,有时要加载一个网页,如果能配上一个进度条就更好了,而android ...

  6. 我的Android进阶之旅------>Android疯狂连连看游戏的实现之加载界面图片和实现游戏Activity(四)

    正如在<我的Android进阶之旅------>Android疯狂连连看游戏的实现之状态数据模型(三)>一文中看到的,在AbstractBoard的代码中,当程序需要创建N个Piec ...

  7. 在Android系统中修改Android.mk使其同时编译rgb2565和rgb2888(向out/host/linux-x86/bin/下新增加一个工具命令)【转】

    本文转载自:http://blog.csdn.net/mu0206mu/article/details/7514559 在Android系统中修改android.mk使其同时编译rgb2565和rgb ...

  8. Android 插件化开发(二):加载外部Dex文件

    在学习Java反射的技术后,我们可以开始更深一步的探究插件化开发了.首先先讲一下Android App的打包流程,然后我们通过一个简单的例子 —— 实现插件化加载外部Dex来完成初级的插件化开发的探索 ...

  9. Android Volley和Gson实现网络数据加载

    Android Volley和Gson实现网络数据加载 先看接口 1 升级接口 http://s.meibeike.com/mcloud/ota/cloudService POST请求 参数列表如下 ...

随机推荐

  1. LoadRunner JAVA Vuser接口测试

    注:JDK只支持1.6 1.创建工程Test2.写个经典的HelloWorld类.3.Runas--->Java Application运行下4.将工程下的整个com包拷贝到loadrunner ...

  2. C++ Primer 笔记——模板与泛型编程

    1.编译器用推断出的模板参数来为我们实例化一个特定版本的函数. 2.每个类型参数前必须使用关键字class或typename.在模板参数列表中,这两个关键字含义相同,可以互换使用,也可以同时使用. t ...

  3. Java+selenium之WebDriver定位页面元素(二)

    Selenium-Webdriver 提供了强大的元素定位方法,支持以下三种方法: 单个对象的定位方法,多个对象的定位方法和层级定位 1. 定位单个元素 // 对于元素的属性包含 id 的情况适用,推 ...

  4. html5页面调用手机打电话功能

    <head>里面加上:<meta name="format-detection" content="telephone=yes"/> 需 ...

  5. Vue-切割json数组字符串并循环输出

    Json "detailList":[ " 04/08/2016 - LA - - Dept. - TITLE (Lien Reported)", " ...

  6. JavaScript学习:取数组中最大值和最小值

    在实际业务中有的时候要取出数组中的最大值或最小值.但在数组中并没有提供arr.max()和arr.min()这样的方法.那么是不是可以通过别的方式实现类似这样的方法呢?那么今天我们就来整理取出数组中最 ...

  7. 重排DL

    题解: https://www.luogu.org/problemnew/show/T51442 从这题上还是学到不少东西.. 以前并没有写过ex-bsgs 正好拿这个复习中国剩余定理和bsgs了(我 ...

  8. AtCoder Regular Contest 101

    C题是个傻逼题, 一定是先向右,然后停了或者向左走到某一个点(左边同理)模拟就可以了 D题想了一会才想出来 和tjoi那道排序挺像的 二分答案变0/1来做 刚开始写的时候还把自己作为另外一类搞出来 这 ...

  9. javascript小例子:實現四方向文本无缝滚动效果

    实现一个文本无缝滚动的效果: <!DOCTYPE html> <!--[if lt IE 7 ]> <html lang="zh-CN" class= ...

  10. IOS内存约定-【ios】

    IOS中内存采用引用计数的方式,在释放内存编程时采用约定的方式,在这里不长篇大论具体内存的原理,只从实用角度出发记录下如何根据这些约定来释放内存. 具体约定为: 当你使用new.alloc.copy  ...