在开发低功耗产品时,为了尽可能的降低功耗,一般会讲未使用的GPIO设置为某个状态,比如在STM32L4xx理,GPIO在 analog 模式功耗是最优。SWD口除了开发调试及生产烧录,出去后用不到,所以会设为 analog 模式(调试的时候保留,正式版才关闭,这个大家都懂,万一生产返工呢………………)。
这样就会出现个问题:空片的SWD没有被禁止,所以随时都可以烧录,但是烧过程序的就被关闭了,怎么办?
其实,MCU在复位的时候,SWD所在的那两个GPIO默认就是SWD接口,还是可以连上的。说得那么简单,那也没必要写这篇文章了。复位后GPIO确实是SWD接口,但是jlink连接芯片也是要时间的,虽然很短,如果在复位后立马就去将SWD口改了,jlink就连不上了。说到这,应该都明白该怎么做了: 系统启动后不要立马去更改SWD口的配置,过一会再改,比如其它的初始化 *** 作都完成了再改!!!
血和泪的教训…………………………
前面说,在复位后的那一小会是可以连接的,但是调试的时候总不能每次都去按复位键或重新上电那得多麻烦。这方面,jlink想得很周到,提供了一个 reset 脚,将该脚连到MCU的复位脚,并在IDE上做如下配置即可:
IAR:
RTS拉低,就是给2TYPNP管基极输入低电平导通,导通之后DTR正极流向负极接地R10 R12分压电路 分压输出高电平G截止 低电平G导通。 RTS不拉低 2TY是截止的 G由接地导通。
C系列是必须要烧录的,不支持下载,如果你非要用的话可以买烧写器,(不是那种通用的,太贵),50块左右,有串口的,也有usb的(不过也是通过虚拟串口的形式)。
个人强烈建议用S系列,支持下载,调试的时候很方便,谁也不能保证一次成功不是,做一个或者卖一个usbasp的下载线(Mega8模拟usb时序),速度也不慢,你又不是批量生产,价格也就20块左右,淘宝上很多卖的。
PS:个人不推荐STC,从网站到数据手册,都做的太。。。了,
以上就是关于低功耗模式下SWD接口的使用全部的内容,包括:低功耗模式下SWD接口的使用、求助!STC单片机自动下载电路(免冷启动这里)有点不太明白。。。、51单片机 的 程序下载电路等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)