CLion OpenOCD调试添加

本文介绍了如何使用CubeMX对STM32G474NUCLEO开发板进行SWO调试输出的配置,包括CMakeLists的修改、硬件浮点支持设置以及printf函数重定向到ITM,以便通过putty查看调试信息。通过解除注释特定代码行和添加main.c中的__io_putchar函数,可以在debug模式下通过putty实时显示printf输出。
摘要由CSDN通过智能技术生成

SWO 调试输出配置——以STM32G474 NUCLEO为例

  1. CubeMX 配置

在这里插入图片描述

  1. CMakeLists.txt 和 CMakeLists_template.txt (可选)
#Uncomment for hardware floating point
#add_compile_definitions(ARM_MATH_CM4;ARM_MATH_MATRIX_CHECK;ARM_MATH_ROUNDING)
#add_compile_options(-mfloat-abi=hard -mfpu=fpv4-sp-d16)
#add_link_options(-mfloat-abi=hard -mfpu=fpv4-sp-d16)

将这两个文件中的这一段代码的第2到4行的注释去掉

  1. st_nucleo_g4.cfg
itm ports on
stm32g4x.tpiu enable
stm32g4x.tpiu configure -protocol uart -traceclk 170000000 -output :4444 -formatter off

在文件的最后添加这一段代码

  1. main.c —— printf重定向
int __io_putchar(int ch)
{
    while (ITM->PORT[0].u32 == 0UL)
        __NOP();
    ITM->PORT[0].u8 = (uint8_t) ch;
    return ch;
}

在任意一处的USER CODE里放置这一段代码,这main.c里的printf输出就能在putty中看到了

  1. putty的使用

在这里插入图片描述


在while循环里写printf就能在putty里看到了,记得用debug模式下载

以上是培训时学长传授的,弄好后想写一篇记录一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值