这几天一直想搞清楚一个问题,adroid系统从main system是如何重启到recovery的。不同硬件平台的做法可能不同,网上好多提到的都是写misc分区BCB。但是我发现我的手机却不是,先介绍下我使用平台版本:
硬件平台:TI OMAP4460
android版本:Android系统原生态4.0.3。
我进入recovery模式后,手动写入重启到recovery命令到misc分区,断电,然后读出misc分区,确认写入正确,
重启手机,发现手机并没有进入recovery模式,肿么回事泥?
只有一个办法:查看源码。我发现每次从main sytem重启到recovery时候,都属于热启动,uboot都会在热启动的条件下,查看一块系统内部ram PUBLIC_SAR_RAM_1_FREE,如果该系统ram里包含“recovery”字符串就会进入recovery模式。终于找到原因。不知道其他平台的实现方法是如何。