ST LINK引脚定义和对应MCU引脚如下图
只有下载功能,接线方式如下:
ST LINK引脚序号 | ST LINK引脚名称 | STM引脚 |
19 | VDD | ST Link的2号TVCC引脚 |
1 | TVCC | STM的VDD引脚 |
7 | TMS_SWDIO | STM的SWDIO |
9 | TCK_SWCLK | STM的SWCLK |
20 | GND | STM的板子GND |
按上面接线使用Keil就可以直接下载程序,keil配置如下图:
下载和调试输出功能,接线方式如下:
ST LINK引脚序号 | ST LINK引脚名称 | STM引脚 |
1 | TVCC | STM的VDD引脚 |
7 | TMS_SWDIO | STM的SWDIO |
9 | TCK_SWCLK | STM的SWCLK |
20 | GND | STM的板子GND |
13 | TDO_SWO | STM的板子TRACESWO |
15 | NRST | STM的板子NRST |
芯片配置如下图:
keil的下载的配置和上面的一样,这里说一下怎么使用ST LINK输出调试信息
在代码中使用 uint32_t ITM_SendChar (uint32_t ch)函数发送调试信息到ITM channel 0,可以直接在fputc函数中添加这个函数,这样就可以使用printf输出调试信息
int fputc(int ch, FILE * f)
{
ITM_SendChar(ch);
return ch;
}
还需要下载一个工具:STM32 ST-LINK Utility,下载地址:https://www.st.com/en/development-tools/stsw-link004.html,ST官网的,填个邮箱就会发送下载链接到邮箱了,打开就可以下载了
打开STM32 ST-LINK Utility,然后打开Serial Wire Viewer,设置System clock和芯片时钟相同,选择port 0,start就回看到输出信息了,有时点start会提示断开连接,再点一次就又可以了,不知道具体原因