打印
[技术问答]

如何区分:应用开发的MCU “重新启动“情况

[复制链接]
254|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
deliahouse887|  楼主 | 2024-12-29 23:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MCU开发过程,有时候需要区分重新启动类型的情况:

1、MCU进入深度睡眠(deepsleep),被按键唤醒的情况。此时 部分MCU的RAM数据会丢失,无法区分 上电启动 还是深度睡眠 的启动。
2、MCU的OTA升级成功,重启。此时应用层无法区分 上电启动 还是OTA的启动。

区分方法:可以预知的重启:
1、深度休眠 唤醒后重启
2、OTA 成功后的重启
可以在Flash 存储对应的标志位Flag,等到唤醒后,读取Flag 来判断是应用的重启 还是 上电启动。
无法预知的重启:
上电复位/欠压复位/RST引脚复位,可以在上电时打印重启错误码进行区分。


使用特权

评论回复
沙发
jasontu| | 2024-12-30 09:12 | 只看该作者
1, 应该有ram区坏可以,可以不下电。
2, 只要把某些区坏的ram不要重新作re-init,即可以用状态判断。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

1227

帖子

0

粉丝