这几天一直想搞清楚一个问题,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模式。终于找到原因。不知道其他平台的实现方法是如何。
本文深入探讨了Android系统在特定硬件平台TI OMAP4460下,从MainSystem重启至Recovery模式的过程,通过源码分析揭示了这一过程的关键逻辑。文中特别指出,在热启动状态下,Uboot会检查系统内部RAM,若包含“recovery”字符串,则系统将进入Recovery模式。此外,作者还分享了如何通过手动写入重启至Recovery命令至misc分区并验证其效果的方法。

1658

被折叠的 条评论
为什么被折叠?



