使用ST Link下载和进行调试输出

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,下载地址:,ST官网的,填个邮箱就会发送下载链接到邮箱了,打开就可以下载了

打开STM32 ST-LINK Utility,然后打开Serial Wire Viewer,设置System clock和芯片时钟相同,选择port 0,start就回看到输出信息了,有时点start会提示断开连接,再点一次就又可以了,不知道具体原因

经验分享 程序员 微信小程序 职场和发展