STM32CubeIDE调试工具之SWV(串行线查看器)

本文详细介绍了如何使用ST-Link调试器、STM32CubeMX和STM32CubeIDE进行STM32的硬件准备、软件配置,包括设置SYS_JTDO-TRACESWO、配置FCLK时钟,以及如何在程序中添加printf调用以实现调试信息的打印和通过SWV进行实时监控。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 一、硬件准备

        需要准备含SWDIOSWDCLK以及SWO三种信号接口的ST-Link调试器。

  • 二、STM32CubeMX软件配置
  1. 在软件STM32CubeMX上,设置芯片PB3引脚为SYS_JTDO-TRACESWO
  2. 在左侧配置选择栏,选择System Core->SYS->Debug->Trace Asynchronous Sw
  3. 在顶侧选中Clock Configuration,记住最右侧的FCLK时钟频率。

  • 三、STM32CubeIDE软件配置
  1. 在界面最上侧工具栏中,选择运行->调试配置,在弹出窗口中,选则调试器设置界面,在串行线查看器(SWV)类型框内,勾选使能Core Clock (MHz)设置为FCLK时钟频率,其他保持默认。
  2. 在界面最上侧工具栏中,选择项目->属性,在弹出界面中,在左侧选择C/C++构建->设置,然后在右侧工具设置中,勾选Use float with printf from newlib-nano(-u _printf_float),以此允许打印浮点数。

  • 四、程序配置
  1. main.h中添加
    #include <stdio.h>
  2. main函数前添加
    int _write(int file , char *ptr,int len)
    {
        int DataIdx;
        for(DataIdx = 0;DataIdx<len;DataIdx++){
            ITM_SendChar(*ptr++);
        }
        return len;
    }
  3. 使用printf()打印调试信息,如printf("SWO_Test!_%d\r\n",PrintCnt+=1);

  • 五、调试
  1. 点击调试按钮,进入调试模式,等到程序阻塞HAL_Init()
  2. 在顶部选择栏选择窗口->显示视图->其他,搜索SWV,选中SWV ITM Data Console,点击打开按钮。
  3. 在界面右下侧选中SWV ITM Data Console窗口,点击工具图标(Configure trace),在弹出来的界面中勾选ITM Stimulus Ports中的Enable ports 0,然后点击确认,点击小红点(Start Trace)至右侧。
  4. 点击界面上方工具栏的继续按钮(快捷键F8)后,SWV ITM Data Console窗口打印出调试信息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值