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

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手机各种概念解析

三种模式区别

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/245227.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

filter过滤后重新添加_每天记一个单词(第3518)filter

filter /ˈfɪltər/ n. 过滤器;点击音频收听跟读 ↓↓↓↓↓↓(中慢速带读)(音频不显示请关闭头条app后台重新打开或者更新最新版本)英英解释:something that you pass water, air etc through in order to remove unwanted substances and make it clean or suita…

openwrt dhcp 无法获取ip_如何安装Openwrt软路由系统并配置正常使用

本篇文章教大家如何安装Openwrt软路由系统并配置正常使用。首先我们需要能用来当作软路由的主板,主板要至少需要2个千兆网口,一个用作Wan,其他用作Lan.我这边用到的是ASUS-N3050I-CM-A,这块主板拥有两个千兆网口,搭载了功耗仅6w的n3050 CPU,非…

android 低功耗蓝牙,Android 低功耗(BLE)蓝牙开发说明

BLE(Bluetooth Low Energy)低功耗蓝牙兴起的原因BLE蓝牙的兴起主要是因为可穿戴设备的流行,由于传统蓝牙不能满足可穿戴设备的续航要求,因此大部分可穿戴设备采用蓝牙4.0技术,即BLE蓝牙技术。BLE的特点快速搜索、快速连接、超低功耗连接和数据…

android opencv 获取小图在大图的坐标_Android开发—基于OpenCV实现相机实时图像识别跟踪...

利用OpenCV实现实时图像识别和图像跟踪图像识别什么是图像识别图像识别,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。根据观测到的图像,对其中的物体分辨其类别,做出有意义的判断。利用现代…

三菱a系列motion软体_三菱M70A/64SM重要功能比较

三菱M70A/64SM重要功能比较M70A特有功能,64SM无法作到的功能往 期 精 选 1>三菱M70系统全清操作步骤2>三菱M70系统 程序传输操作步骤3>三菱M70分中对刀操作步骤4>三菱M70设置加工条件选择 介绍5>三菱M70系统 原点设定方法6>三菱M70/M700 用户参数…

手机网页转换为html文件,怎么在手机上打开HTML文件

回答:一1、我们打开XMind软件2、点击插入----超链接3、我们输入我们的网址二使用二:XMind如何分享,XMind提供非常强大的共享功能,而且在不断完善,那么大家知道XMind如何分享吗?其实操作还是简单的。1、我们…

centos 卸载_CentOS「linux」学习笔记12:磁盘管理、分区挂载卸载操作

linux基础操作:主要介绍了磁盘管理、分区挂载卸载操作。特别说明linux中磁盘表现形式:IDE硬盘在linux中表示方式为"hdx"。SCSI硬盘在linux中表示方式为"sdx"。这里的x代表磁盘号[a代表基本主磁盘(主盘)对应数字表示:1,b代…

html制作翻页效果代码,使用原生JS实现滚轮翻页效果的示例代码

一、滚轮事件当用户通过鼠标滚轮与页面交互、在垂直方向上滚动页面时,就会触发mousewheel事件,这个事件就是实现全屏切换效果需要用到的。在IE6, IE7, IE8, Opera 10, Safari 5中,都提供了 “mousewheel” 事件,而 Firefox 3.5 中…

python leetcode_Leetcode 常用算法 Python 模板

小 trickoverlap条件&#xff1a;start1 < end2 and end1 > start2 在DFS中我们说关键点是递归以及回溯&#xff0c;在BFS中&#xff0c;关键点则是状态的选取和标记树算法Binary Indexed Tree BIT 树状数组class BIT:def __init__(self, n):self.n n 1self.sums [0] …

画瀑布图_常见的招财风水画之含义

点击上方【觉悟法华】关注 风水画是指利于风水的字画&#xff0c;能起到招财、旺运、化煞等等的风水作用。那么&#xff0c;常见的招财风水画有哪些含义&#xff1f;大鹏展翅图&#xff1a;大鹏展翅图&#xff0c;通常挂在书房或者客厅&#xff0c;给人以一种“鹏程万里”、积极…

荣耀play4 pro怎么升级鸿蒙系统,华为鸿蒙系统手机型号有哪些

华为鸿蒙系统支持的手机型号有很多&#xff0c;如果你想第一时间升级鸿蒙系统&#xff0c;需要申请内测后&#xff0c;才能够下载安装升级哦&#xff01;不知道如何操作的小伙伴们&#xff0c;一起来看看趣丁网带来的华为鸿蒙os2.0系统怎么升级教程吧&#xff01;一、华为鸿蒙系…

shell脚本中取消高亮显示_Linux中强大的top命令

top命令算是最直观、好用的查看服务器负载的命令了。它实时动态刷新显示服务器状态信息&#xff0c;且可以通过交互式命令自定义显示内容&#xff0c;非常强大。在终端中输入top&#xff0c;回车后会显示如下内容&#xff1a;一、系统信息统计前五行是系统整体状态的统计信息展…

body onload 控制窗口大小 html,HTML5 对各个标签的定义与规定:body的介绍

HTML5 对各个标签的定义与规定&#xff1a;body的介绍2019年07月25日| 萬仟网IT编程| 我要评论本文主要介绍body标签... 12-06-21body元素就是就是html文档的主内容标签。可设置属性onafterprint 在打印文档之后运行脚本onbeforeprint 在文档打印之前运行脚本onbeforeonload 在…

python杨辉三角函数公式大全_python-1-杨辉三角算法总结

题目计算杨辉三角前6行。杨辉三角的三种方法求杨辉三角的前6行。1-1方法先拼凑两端的1&#xff0c;中间两两相加triangle[[1],[1,1]]for i in range(2,6): # 外层循环&#xff0c;i表示索引cur[1] # 拼头部pretriangle[i-1] # 上一行for j in range(len(pre)-1): # 内层循环&am…

html5手机电商网页设计代码_Html5网站制作,干货!20个视觉体验和内容俱佳的优秀网页设计...

如何创建一个网页&#xff1f;“Html5网站制作”和“灵感干货&#xff01;20个视觉、体验和内容俱佳的优秀网页设计”有什么关系和内在关联&#xff1f;在图片方面&#xff0c;有三个具体方案&#xff1a;图片地图、Css Sprites、内联图片三种&#xff0c;最值得关注的是 Css S…

2021 高考 成绩查询,精准预测!2021全国大学录取分数线表查询

高考分数对应大学层次等级随着各大高校的疯狂扩招&#xff0c;大学的门槛近年来越来越低&#xff0c;虽然还不至于达到普及大学的程度&#xff0c;但对于成绩不是太差的高中生而言&#xff0c;上大学确实是一件轻松加愉快的事情。在高考总分750的情况下&#xff0c;文科生551分…

python 打包工具_介绍一款Python打包工具(py2exe)

下面小编就为大家带来一篇Python之py2exe打包工具详解。小编觉得挺不错的&#xff0c;现在就分享给大家&#xff0c;也给大家做个参考。一起跟随小编过来看看吧下载Python对应版本的py2exe&#xff0c;使用这个工具可以将自己的程序打包成exe文件。使用这个工具需要写一个用于打…

python图像处理opencv_使用Python+OpenCV进行图像处理(二)| 视觉入门

【前言】图像预处理对于整个图像处理任务来讲特别重要。如果我们没有进行恰当的预处理&#xff0c;无论我们有多么好的数据也很难得到理想的结果。 本篇是视觉入门系列教程的第二篇。整个视觉入门系列内容如下&#xff1a; 基本的图像处理与滤波技术。 从特征检测到人脸检测。 …

html文本设置float,css怎么float(浮动)?

在css中&#xff0c;浮动是一种使元素脱离文档流的方法&#xff0c;会使元素向左或向右移动&#xff0c;其周围的元素也会重新排列。Float(浮动)&#xff0c;往往是用于图像&#xff0c;但它在布局时一样非常有用。浮动是一种非常有用的布局方式&#xff0c;它能够改变页面中对…

字符动图_手把手教你做一个python+matplotlib的炫酷的数据可视化动图

1.数据可视化动图&#xff0c;是数据可视化的高级显示&#xff0c;最近很流行。2.比如下面将告诉你如何制作一个如下的数据可视化动图。3.例&#xff1a;3.1 准备一组数据&#xff0c;虚拟的csv资料&#xff0c;对应关系如下4个项目&#xff1a;namegroupyearvaluename&#xf…