手机的启动和刷机
来源:互联网 发布:淘宝直播秒杀技巧 编辑:程序博客网 时间: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
- 手机的启动和刷机
- 监听手机的启动
- 启动手机自带浏览器和手机拨号
- Android中读取手机中软件的包名和入口(启动actvity)的名字
- 关于手机启动的方向,和屏幕的单,双击事件
- android手机root后的安全问题 (四) 禁止开机启动和应用失效
- IOS系列——不同手机的icon设置和启动页
- Android之用SingleTask和TaskAffinity解决手机截取的项目启动页面问题
- MTK平台的手机启动流程
- Android 启动手机上的APP应用
- 在手机浏览器启动你的app
- html5页面启动手机上的app
- iPhone手机和Android手机的对比
- iPhone手机和Android手机的对比
- android手机的刷机
- vivo和OPPO手机刷机
- 如何获取用户手机当前是否启动了android机的模拟位置功能
- 手机的制式和频率
- 测试工具不同机型设置
- linux配置Java环境
- od粗跟踪和run跟踪
- myeclipse 关闭自动更新 等
- 视频内容猛增
- 手机的启动和刷机
- java
- 闲着无事2 RtlFillMemory
- 运营商大战移动支付
- 什么是事务
- SQL常用分页的办法
- 用java 编写24点 cmd 执行
- 使用远程桌面控件AdvanceSettings的一种方法
- 拼包函数及网络封包的异常处理