工作环境:STM32F103C8、Jlink V7、Jflash 连接方式:地、SWDIO、SWDCLK、Vref四线连接
本来通过ISP编程,挺好,可惜的是串口1与TIM1共用了,于是想通过SWD开发编程 首先遇到的问题是死活无法进入编程状态,总是提示如下图: https://bbs.21ic.com/upfiles/img/20093/200937221823841.jpg
后来经过半天的排查,确认一个使用DMA的ADC的初始化函数会造成上述问题,如果屏蔽掉这个ADC初始化函数,则可以在运行时进入SWD编程。但是AD的引脚完全不与SWD复用啊。这个问题有点奇怪啊~~
另外有个问题:一旦编程完毕后使用F9(Target -> Start Application)启动运行,那么位将无法再次进入编程,除非硬件复后才行。
再一个:Jflash软件不能够在编程时自动更新载入的HEX文件,每次该程序后需要手动重新装入,无语!
目前看来通过SWD作为编程器支持开发,相当的麻烦,远不如ISP了~ 可惜的是ISP与TIM1复用了,最重要的两模块真不知道ST的人怎么想的?!!! |