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会提示断开连接,再点一次就又可以了,不知道具体原因
本文详细介绍了STLINK的引脚定义及与STM32 MCU的连接方式,包括仅下载功能和包含下载与调试输出功能的两种接线方式。同时,提供了在Keil环境下配置STLINK的方法,并介绍了如何使用STLINK输出调试信息,包括使用ITM_SendChar函数发送信息和使用STM32ST-LINK Utility工具查看输出。
1518





