SWD调试接口

Jtag 是20PIN接口(非常多的接地PIN),太多的PIN会导致一些小型的PCB板很拥挤,也会增加布线的难度。 使用SWD接口下载调试,只需要要使用2-6个PIN: VCC, GND, RST, SWDIO, SWCLK, SWO 其中, SWDIO, SWCLK是必须的 国内仿制 ULINK2 非常好的支持 SWD 模式, 速度可以达到 10M。 ULINK2 需要的硬件接口为: GND, RST, SWDIO, SWCLK Ulink2将JTAG的1、7、9、20分别与自己的开发板上JTAG的VCC、JTMS/SWDIO、JTCK/SWCLK GND用杜邦线相连即可 JLink按SWD方式来调试,实际需要接1,7,9,15,20脚,某些资料上说的需要6个脚(第13脚SWO也需要连上)是不对的,SWO不需要连接。SWO是调试数据,log可以从这里打印。 SEGGER Embedded Studio can use SWO for printf Output to the Debug Terminal and for code profiling and execution trace. https://wiki.segger.com/Configure_SWO_in_Embedded_Studio 有些开发板,没有引出RST线。那么 不接第15脚,即RESET脚,仅接4条引线,即Vref,SWDIO, SWCLK, GND。 在MDK 中 设置时Reset位选择:AutoDetect,可以正常下载,仿真。 如果Reset位选选择:HW Reset ,则不能正常下载。 这是正常的,硬件reset信号都没连接,自然不能硬件复位。 小程序 都是在RAM中调试的,而且只接三根线GND SWDIO SWCLK (VCC 直接接JTAG内部的),很爽利。不过今天要试IIS 要放一个大的数据进去,于是要烧到FLASH中去, 发现很快进度条走完, 然后显示失败,放狗一搜,说要接RESET,于是接上,果然下进去了。 在MDK仿真器的设置里面不使用硬件复位,而是用system reset或者vect reset,前者适用的范围更广 因为SWD有软件复位协议,不需要硬件RST信号,也可以复位系统。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注