低功耗模式下SWD接口的使用
2019-05-26 本文已影响0人
tianxiaoMCU
在开发低功耗产品时,为了尽可能的降低功耗,一般会讲未使用的GPIO设置为某个状态,比如在STM32L4xx理,GPIO在analog
模式功耗是最优。SWD口除了开发调试及生产烧录,出去后用不到,所以会设为analog
模式(调试的时候保留,正式版才关闭,这个大家都懂,万一生产返工呢………………)。
这样就会出现个问题:空片的SWD没有被禁止,所以随时都可以烧录,但是烧过程序的就被关闭了,怎么办?
其实,MCU在复位的时候,SWD所在的那两个GPIO默认就是SWD接口,还是可以连上的。说得那么简单,那也没必要写这篇文章了。复位后GPIO确实是SWD接口,但是jlink连接芯片也是要时间的,虽然很短,如果在复位后立马就去将SWD口改了,jlink就连不上了。说到这,应该都明白该怎么做了:系统启动后不要立马去更改SWD口的配置,过一会再改,比如其它的初始化操作都完成了再改!!!
血和泪的教训…………………………
前面说,在复位后的那一小会是可以连接的,但是调试的时候总不能每次都去按复位键或重新上电那得多麻烦。这方面,jlink想得很周到,提供了一个reset
脚,将该脚连到MCU的复位脚,并在IDE上做如下配置即可:
IAR:
MDK: