手机的启动和刷机

来源:互联网 发布:淘宝直播秒杀技巧 编辑:程序博客网 时间:2024/04/30 10:38

理论上说,手机不存在刷坏的可能性!

 

因为现在手机都有USB Loader.

 

android手机启动分六个阶段:

 

1.Power ON and Boot ROM code execution

2.The Boot Loader

3.Linux kernel

4.The init process

5.Zygote and Dalvik

6.The system server

 

(一)Power ON and Boot ROM code execution

 

上电后,手机要等待电压稳定后,才开始BOOT ROM里的代码。手机都有自己的智能电源监测模块。电压稳定后会给CPU发一个硬件脉冲。从而硬启动CPU。

 

这个时候internal RAM是可用的,这种RAM是上电即可用,不像External RAM (由1st stage loader检测和初始化) 这里涉及到硬件知识了,SRAM和DRAM的区别。

 

这段Boot ROM代码是简单的,而且是“Hardwired”在手机的CPU ASIC里面了,所以,我说手机理论上是刷不坏的。除非刷机导致了硬件的损伤。

 

这个时候,手机将决定使用何种 “first stage boot loader”,这个决定也是根据硬件的状态决定的,程序会去检测专门的硬件寄存器,这涉及到硬件的知识,比如你的计算机是否通过USB电缆插在手机上,将决定CPU内的一个硬件寄存器的值。

一般手机都有一个固定的“boot media sequence”, 通过判断何种媒体可用,然后从优先去而且可用的媒体中取回boot loader代码。

 

决定后,BOOT ROM代码将把Bootloader代码 load到internal RAM中,load完后,BOOT ROM则完成历史使命,使用一个“JUMP and Execution”指令,把控制权交给internal RAM中的代码。

 

一般的手机厂家都要提供一个Flasher工具,这个工具就是BootROM 里的代码交互,把Flasher的部分代码下载到Internal RAM中。

缺省的启动顺序,USB是由于内部SYSTEM ROM的。如果启动时没检查到USB连接到了电脑,则是走的正常的启动流程。所以说只要硬件没坏,我们想怎么刷机,就怎么刷机,任何砖头都是可以恢复回来的。只要我们写一段刷机代码通过USB下载到Internal  RAM里面运行即可

 

(二)The Bootloader

 

 

 

 

 

 

 

原创粉丝点击