2024年4月12日发(作者:禾映寒)
bootloader 三种启动模式
HTC手机中用的bootloader称为HBoot,不知道是不是HTC Bootloader 之意,从官网的源
码看这个bootloader不象是u-boot的改版。(当然这个也不太确定HBOOT就是完全使用与
Android相同的源码)
/?p=platform/bootable/bootloader/;a=tree
;f=include;hb=HEAD
在Android 的刷机时,经常会听到SPL,Recovery 模式,和fastboot 模式。这些术语是
什么含意呢?
如果在嵌入式Linux开发时使用过u-boot,对这种几种模式还是比较好理解。
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模式的切换如下图
界面
参考这个 /?boardid=47&Id=3457
我的HTC G8 在关机状态下同时按
样的组合键手机有
音量下键+开机键
进入HBOOT菜单,有同
G5,G6,G7,G8,G9,G10,
按而进入fastboot
模式和recovy模式,则在HBOOT菜单用音量选择,用电源键确定即可进入.
还有较老的手机,是同时按
音量下键+开机键(G1是拍照键+
开机键)
进入HBOOT菜单,而进入
fastboot模式需要按
返回键+开机键.
进入recovery模式,
HOME键(小
房子键)+开机键,
有同样的组合键手机有
G1,G2,G3,G4
2024年4月12日发(作者:禾映寒)
bootloader 三种启动模式
HTC手机中用的bootloader称为HBoot,不知道是不是HTC Bootloader 之意,从官网的源
码看这个bootloader不象是u-boot的改版。(当然这个也不太确定HBOOT就是完全使用与
Android相同的源码)
/?p=platform/bootable/bootloader/;a=tree
;f=include;hb=HEAD
在Android 的刷机时,经常会听到SPL,Recovery 模式,和fastboot 模式。这些术语是
什么含意呢?
如果在嵌入式Linux开发时使用过u-boot,对这种几种模式还是比较好理解。
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模式的切换如下图
界面
参考这个 /?boardid=47&Id=3457
我的HTC G8 在关机状态下同时按
样的组合键手机有
音量下键+开机键
进入HBOOT菜单,有同
G5,G6,G7,G8,G9,G10,
按而进入fastboot
模式和recovy模式,则在HBOOT菜单用音量选择,用电源键确定即可进入.
还有较老的手机,是同时按
音量下键+开机键(G1是拍照键+
开机键)
进入HBOOT菜单,而进入
fastboot模式需要按
返回键+开机键.
进入recovery模式,
HOME键(小
房子键)+开机键,
有同样的组合键手机有
G1,G2,G3,G4