|
做了个控制器,因为用电池供电,要求低功耗,所以空闲的时候就进入停机模式了。先把停机命令替换成循环等待调试好程序,然后恢复停机命令,结果总是无法唤醒,用LED指示发现有时进入中断了,但还是不能正常工作。折腾了很多天没调好,一气之下拿回家,晚上搞,结果发现工作没问题,一切正常。再拿回单位,又出问题了。这不科学啊,单位和家里用的软件版本都一样。突然发现调试时中断程序里设置了断点,在家的时候是直接全速运行,没设过断点。赶紧试试,把断点都去掉,果然正常运行了。 以前调试的时候主动停止调试后断点不影响程序运行,没想到进停机模式时调试器自动断开后断点居然还有效,运行到断点就停了,导致外面看起来程序工作不正常。 第一次做STM的停机程序,经验不足啊。 ![]() |
微信公众号
手机版
脱离仿真器?是怎么做的?
我是用KEIL+STLINK调试的,没发现还有stop仿真的选项,应该在哪里设置?
调试过程中发现,MCU进入低功耗模式(待机)后,仿真器无法通过SWD接口连接上
不同的芯片都保存的地方都不一样,一般是在dbgmcu.h文件中配置开启或者关闭。