定制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加载过程:

最新文章

  1. 篇二:MySQL存储过程
  2. 2014/11/06 Oracle触发器初步 2014-11-06 09:03 49人阅读 评论(0) 收藏
  3. CentOs中mysql的安装与配置
  4. Codeforces Round #371 (Div. 2) - A
  5. Python从题目中学习:range()和xrange()
  6. Log4j配置说明及样例
  7. 10件在PHP 7中不要做的事情
  8. [Reprint]C++函数前和函数后加const修饰符区别
  9. List小结
  10. [Angular 2] Angular 2 Smart Components vs Presentation Components
  11. Xcode中修改整个项目工程名称步骤
  12. return遇到finally
  13. php gd 生成日历图
  14. 理解php的opcode
  15. js控制滚动条滑动
  16. 【摘】Oracle 11g EM安全证书问题无法访问的解决办法
  17. 【HDU4751】Divide Groups
  18. leecode第二百一十七题(存在重复元素)
  19. 学习使用github
  20. JetBrains全家桶破解思路(最新更新:2019-04-17)

热门文章

  1. Nginx详解六:Nginx基础篇之Nginx日志
  2. ajax对象方法的使用
  3. unable to access android sdk add-on list(转)
  4. WCF+Autofac 实现构造函数依赖注入
  5. win10远程桌面出现身份验证错误。要求的函数不受支持
  6. delphi使用sqlite数据库时的中文路径问题
  7. react native初始化项目
  8. nginx 服务脚本编写模板
  9. Nginx动静分离架构&&HA-LB集群整合
  10. ghithub中PHPOffice/PHPWord的学习