Andrew Huang 转载请注明作者及网址

HTC手机中用的bootloader称为HBoot,不知道是不是HTC Bootloader 之意,从官网的源码看这个bootloader不象是u-boot的改版。(当然这个也不太确定HBOOT就是完全使用与Android相同的源码)

在Android 的刷机时,经常会听到SPL,Recovery 模式,和fastboot 模式。这些术语是什么含意呢?

如果在嵌入式Linux开发时使用过u-boot,对这种几种模式还是比较好理解。

1.SPL

SPL的全称是Second Program Loader,是比较准确意思是第二阶段程序装载器,在Linux下没有这么奇怪的名字,好象是HTC从Windows Mobile手机引进来,为了统一名称而采用的名字。

WM下,第一阶段是称为 IPL,它的全称是Initial Program Loader,它是硬件上电后启动第一个程序。负责最初硬件(Nand Flash,CPU,SDRAM)的初始化。然后再把SPL程序装到RAM当中。

SPL可以做更多复杂的硬件初始化,并且往往也支持很多复杂命令,比如网络,USB下载。

SPL再将操作系统装入到RAM中运行。

即IPL --> SPL--> OS .

到了HTC生产Android后,仍然采用这样的名字,以统一起来.

设计成这样复杂的结构原因有很多,专业嵌入式Linux开发人员一般都要明白为什么这样做,主要原因是设计比较灵活。在Linux下,一般的bootloader是把两阶段工作一起做了,象u-boot就是如此。在复杂一点的CPU,分成独立两阶段的bootloader,象s3c6410 的SD卡启动,首先是由SD卡引导区中中的IROM启动,然后它再SD卡上FAT分区的u-boot的程序。这就是一个明显两阶段启动。

因此,简单的说 ,SPL就是Android的bootloader之意。HTC里就是指HBOOT.

2.下载模式

正常情况下,SPL将启动Android操作系统。在进行烧录之类的操作时,需要停止加载操作系统,进入HBOOT的下载模式。嵌入式Linux很多是用串口终端按某键进入下载模式。然后在终端上输入bootloader命令进行操作。

而手机没有这个条件,一般是用某种特殊组合键来操作,进入下载模式.在HBOOT里,下载模式有两种,一种是它本身提供的简单功能,用USB线从PC机上下载。这种模式称为fastboot模式,这种对HBOOT要求较小,需要在PC端安装USB驱动和相应的下载软件。

而更复杂一点的模式是Recovery模式,它是相当于HBoot不引导的正常的Android,而是去引导一个简化的recovery程序。这个程序会比fastboot模式的功能要复杂一些,最大的特点是可以在没有电脑的情况,直接用SD卡里的升级文件进行升级。对于一般的用户而言,操作相对简单。

正常引导Android模式,fastboot模式和recovery模式的切换如下图

3.HBoot界面

参考这个

我的HTC G8 在关机状态下同时按 音量下键+开机键进入HBOOT菜单,有同样的组合键手机有 G5,G6,G7,G8,G9,G10,按而进入fastboot模式和recovy模式,则在HBOOT菜单用音量选择,用电源键确定即可进入.

还有较老的手机,是同时按音量下键+开机键(G1是拍照键+开机键)进入HBOOT菜单,而进入

fastboot模式需要按返回键+开机键.进入recovery模式,HOME键(小房子键)+开机键,有同样的组合键手机有G1,G2,G3,G4

以我的HTC G8,这是实拍照片。这里提示,用音量上下键(Volume +/Volume -)移动菜单项,电源键(Power)去选择菜单项,下面分别有fastboot 模式/recovery模式

HTC HBoot提示信息含义.

这里参考了

第一行:BUZZ PVT SHIP S-ON

BUZZ是产品代号

PVT(或者是EVT,DVT,CVT):是代表手机的版本类型。一台手机从研发到上市,可能会经历多次版本上的调试和改动,版本类型标志着机器是什么时候的产物,有如下选值:

EVT:工程机,研发阶段机器的型号;

DVT:开发机,特殊开发用途机器的型号;

CVT:商用机,交付运营商的机器的型号;

PVT:量产机,最终上市的零售版机器的型号。(PVT1:第1批量产机)

SHIP 是SPL版本SHIP:shippment的缩写,出货的意思,一般官方出厂刷的版本

ENG:Engineer的缩写,工程的意思,一般是第三方修改版的HBOOT版本。

S-ON(或者是S-OFF):

S代表Security Lock,即安全锁。HTC在手机内部设置了一个安全锁,用来控制系统分区的读写状态。这有两个取值 S-ON:安全锁开;S-OFF:安全锁关。

设计这个锁本身的出发点是,象SD卡写保护开关一样,如果S-ON,就表示不能刷机,S-OFF 就表能刷机。这一条规则,对SHIP S-ON/OFF是有效的.因此HTC出货时,ROM都是 SHIP S-ON版本。

参考

SHIP S-OFF 用HTC内部的解锁工具进行解锁,而达到的S-OFF。这种S-OFF的特点是没有开启 fastboot功能,比较稳定,并经过很多次测试,硬件兼容性也比较好,不会出现信号不好,wifi断线等问题;HTC的任何版本ROM,官方RUU都 可以直接刷,刷完官方还是S-OFF。

而对于ENG S-OFF,往往在调试版本的SPL或者第三方开发,基本没有什么限制刷机,但是可能刷机时有风险

第二行 H-BOOT 1.001.002:  HBOOT的版本号

第三行 MICROP-0622          SLCD的型号?

第四行 TOUCH PANEL-SYN3KEY_01  触摸屏的型号

第五行 RADIO- 3.35.20.10       基带芯片固件版本

在其下面有四个菜单项

FASTBOOT 进入fastboot模式

RECOVERY  进入Recovery模式

CLEAR STORAGE ,字面意思是清存储空间,其功能是清除所有用户安装APP,并且把手机设定的值变成缺省值。Android中 "设置→存储卡和手机存储→恢复出厂设置→恢复出厂设置→全部清空" 效果一样

SIMLOCK 锁定SIM卡,使用电话功能不能用。这个要手机有写SIM卡功能,并且SIM卡支持锁定的功能,要解锁可以用SIM-Ulock这个工具

如果想重启进入Android,可以进入fastboot模式下,选择重启"reboot"

4.fastboot 模式

当进入fastboot模式后,在PC端要安装USB驱动和并且运行命令行工具fastboot.exe

Fastboot 也有四个菜单项,分别是

bootloader ,退出到HBOOT菜单

REBOOT       重启手机

REBOOT BOOTLOADER 将SPL重启一次,并进入FASTBOOT模式

POWER DOWN  :关机

5.RECOVEY 模式

选择Recovey 模式,在调用Recovery程序后,首先进入的一个警告图案。

如果想继续进入Recovey操作,可以选择 "音量下键+电源键"进入recovery菜单,如下图形

这里也有四个选项:

Reboot system now : 重启手机

Apply sdcard:update.zip :用SDCARD里的update.izp进行升级

Wipe data/factory reset

Wipe cache partition

WIPE操作

这里的WIPE是擦除之意,wipe data/factory reset 一般称为硬启动,它会清除用户数据/data和恢复成出厂配置。

Wipe cache partition是清除/cache 里内容

6.较老手机HBOOT模式处理

这是是指HTC G1-G4

进入HBOOT菜单:其组合键的操作是:关机状态下同时按住 音量下键+开机键(G1是拍照键+开机键)

进入fastboot模式

其组合键的操作是:关机状态下同时按住  返回键+开机键

进入Recovery模式.

其组合键操作是:关机状态下同时按住  HOME键(房子键)+开机键

附录:

这里也有一篇写得不错,对Android手机各种概念解析

三种模式区别

android rom 工作,Android ROM开发(4) bootloader 三种启动模式相关推荐

  1. android+rom+bootloader+flash,Android ROM开发(4) bootloader 三种启动模式

    Andrew Huang 转载请注明作者及网址 HTC手机中用的bootloader称为HBoot,不知道是不是HTC Bootloader 之意,从官网的源码看这个bootloader不象是u-bo ...

  2. Android学习笔记(十)——Activity的四种启动模式

    Standard标准模式 每启动一个Activity就创建一个新的实例,不管这个activity之前是否启动过,都创建一个新的 singleTop栈顶复用模式 singleTask栈内复用模式 sin ...

  3. x210开发板的三种启动方式(三星推荐的,分散加载,uboot采用的)

    1.三星推荐的启动方式 (1)将bl1放在在SRAM中运行,将bl2也在SRAM中运行,就像datasheet中描述那样. (2)bootloader必须小于96KB并大于16KB,假定bootloa ...

  4. Android学习-Kotlin语言入门-变量、函数、语法糖、when、for-in、主构造函数、单例类、函数式API、集合遍历、隐式Intent、Activity生命周期、四种启动模式、标准函数

    探究java语言的运行机制 变量.函数.语法糖 when条件语句 for循环 主构造函数.次构造函数 数据类和单例类 集合的创建与遍历 集合的函数式API 创建菜单 隐式使用Intent Activi ...

  5. Android 音乐播放器的开发教程(三) 小卷毛播放器的主界面开发 ---- 小达

    Android 音乐播放器的开发教程(三) 小卷毛播放器的主界面开发 拿好素材之后,打开你们的开发工具,小达这里用的是android studio1.0, 新建一个项目,打开activity_main ...

  6. Android Activity的launchMode四种启动模式备忘

    Android Activity的launchMode四种启动模式备忘 Android的Activity的启动模式有四种,在AndroidManifest.xml通过配置Activity的androi ...

  7. Android Activity:四种启动模式,Intent Flags和任务栈(转自他人博客)

    在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作.那各个页面跳转关系如何决定呢?如果启动了顺序启动了ABCD的Activiy,如何从D调回 ...

  8. 【Android】Eclipse自动编译NDK/JNI的三种方法

    [Android]Eclipse自动编译NDK/JNI的三种方法 SkySeraph Sep. 18th  2014 Email:skyseraph00@163.com 更多精彩请直接访问SkySer ...

  9. Android中Activity的四种启动模式

    每次看到这种专有词汇都十分佩服创造者的智慧,创造者一定和我一样都中二,我已然确信. 我写博客的目的,就是希望不断磨练自己,让自己能够不将一件简单的事情讲的复杂,让自己能将一件复杂的事情讲的简单.嘛嘛, ...

最新文章

  1. 各种促销背后的精明算术
  2. FlashInspector 【Firefox浏览器插件,flash分析工具】
  3. 技术宝典 | WebRTC 技术解析之 Android VDM
  4. 【渝粤题库】广东开放大学 综合英语1 形成性考核 (2)
  5. linux搜索pdf文件,桌面应用|如何使用 pdfgrep 从终端搜索 PDF 文件
  6. jquery概念、引入、选择器
  7. 力扣459. 重复的子字符串(KMP,JavaScript)
  8. 线程中这么调用类_一文学会 Python 多线程编程
  9. AHP层次分析法(附matlab程序)
  10. eclipse 版本 发行版本
  11. 面试必杀技:异步FIFO
  12. 前端 flex: 1; 到底是什么意思?
  13. 微信小程序开发者工具 无法加载以下来源的扩展程序 问题解决
  14. UltraVNC源码编译流程
  15. 2019游戏开发学习路线:游戏程序员的核心竞争力是......
  16. android微信小程序自动填表_微信小程序自动化实战(一)
  17. MYSQL基础(sql语句)
  18. OPPO手机怎么找到快应用入口
  19. 利用python进行图像视觉基础练习
  20. 提供推荐--集体智慧编程

热门文章

  1. 那是计算机房吗英语的反问句,小学生作文评语大全_学生评语.doc
  2. VC++ socket编程实例
  3. 用Python计算MovieLens 100k数据集中男性女性用户评分的标准差
  4. 短视频运营技巧合集(上)
  5. 修改hosts文件无法保存,只能另存为txt的解决方法
  6. 真遺憾,你來的不是地方
  7. 区块链:拜占庭将军问题深入探讨
  8. 【数学建模】数学规划模型 - 非线性规划 最大最小化问题
  9. android lrc歌词显示
  10. ScrollView EditText 取消自动获取焦点