热启动与冷启动
Posted 星元的天空
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了热启动与冷启动相关的知识,希望对你有一定的参考价值。
所谓冷启动,是指电路的重新上电,即断电后,再次上电。
热启动就是芯片不断电。使用复位管脚对其复位,或者看门狗、软件复位,这些都属于热启动。由于干扰或其他因素引起的复位,这时候如果希望芯片继续做复位之前的事情,而不是从头再来,这样就要在RAM中开一片区域 ,复位时这个区域的数据不让它清零,然后再进行数据比较,就可以实现冷,热启动的区分。
从STM32的启动文件startup.s看,无论冷启动还是热启动,都是将RAM区清零,即所有变量都初始化为0,这样设计是正确的,一般系统复位了,都是有干扰或者硬件原因,单片机RAM里面的数据就有很大的出错几率,重新开始,有重要意义,有些场合如果防止信息丢失的,可以放在backup区,或者热启动时设置为RAM不清零。
以上是关于热启动与冷启动的主要内容,如果未能解决你的问题,请参考以下文章
Android 启动过程Activity 启动源码分析 ( AMS -> ActivityThreadAMS 线程阶段 二 )