欢迎来到我司Viking代理产品网站!
基于STM32CubeProg,“串行线查看器”(Serial Wire Viewer)被称为“串行线查看器”。 SWO打印输出
Viking代理 2025-05-04

作者|黄微信官方账号|嵌入式专栏本文最初发表在官方帐户“ Embedded Column”上。

这是“ printf系列教程”的文章。

后台回复“ printf系列教程”有关本系列的更多内容。

1写在正面SWD:串行线调试,串行线调试SWO:串行线输出,串行线输出SWV:串行线查看器,串行线查看器ITM:仪器跟踪宏单元,指令跟踪微单元。

SWO串行线输出是单引脚异步串行通信,可以在Cortex-M3 / M4 / M7上使用,并且受主调试器支持。

它使用Cortex内核中的ITM模块来实现此功能。

连接引脚:SWO输出,需要一条SWO(引脚)线,并且需要使用SWV(查看器)来查看数据,我计划组织多种查看方法:基于Keil的“ Debug(打印)”查看者”基于IAR“终端IO”,基于ST-LINK实用程序“ Serial Wire Viewer”基于J-Link“ SWO Viewer”基于STM32CubeProg“ Serial Wire Viewer”本文主要基于第三种类型的“ Serial Wire Viewer”。

基于STM32CubeProg,将结合STM32和ST-link工具描述相关配置。

要了解有关ITM的更多信息,请参阅“ printf系列教程03”的第二章。

关于ITM>。

2SWO引脚配置SWO引脚可以理解为UART的Tx引脚。

如果未连接此引脚,则(SWV)端子将不会接收打印信息。

对于STM32,具有Cortex-M3 / M4 / M7内核的任何MCU均具有SWO引脚。

Cortex-M0不具有此功能,包括STM32F0,STM32L0和STM32G0。

在STM32CubeMX工具中,可以按以下方式配置“调试”选项。

3SWO输出代码在“串行线查看器”(Serial Wire Viewer)中显示打印信息。

STM32CubeProg的与ST-LINK Utility相似,与Keil和IAR的区别在于显示位置不同,并且MCU中的代码实际上相同。

3.1重新定义fputc和UART以实现printf打印输出的区别是:将重新定义代码中的UART发送字符更改为ITM发送字符。

int fputc(int ch,FILE * f){ITM_SendChar(ch); return ch;} ITM_SendChar表示此函数位于core_cm3.h(或cm4 cm7)中,可以直接调用。

修改ITM端口。

例如:修改它以使用ITM端口1,修改此功能的相应值:提示:如果软件修改了ITM端口,则需要启用相应的ITM激励(刺激)端口以正常打印。

4SWV终端配置和输出显示终端是STM32CubeProg的上位机软件。

STM32CubeProg下载地址:https://www.st.com/en/development-tools/stm32cubeprog.html(公共号码不支持外部链接,请复制该链接以在浏览器中打开它)建议阅读我的文章:STM32CubeProg的介绍,下载,安装和使用指南,将程序刻录到MCU,通过ST-Link连接,打开STM32CubeProg软件,从菜单中输入SWV:配置时钟并启用ITM端口:提示:ITM port默认情况下使用port0,并且软件也可以修改(请参见上面的软件),实现0到31之间的任何端口。

4.1输出效果提示:1. CPU时钟必须相同; 2. ITM端口号,软件和查看器(SWV)配置必须相同。

5下载为方便大家理解,提供了源代码项目下载,参考代码:STM32F103(HAL)_SWOSTM32F411(HAL)_SWO百度网盘:https://pan.baidu.com/s/1aYBuHtOgtLqLvj6SsMYlQA提取代码:nbd3提示:1.官方帐户不支持外部链接,请将该链接复制到浏览器中以将其打开。

2.源代码仅供个人学习参考,可能不适用于实际项目。

3.如果链接失败,请注意官方帐户并回复“ printf系列教程”。

获取最新链接。

6说明1.本文档仅供个人学习使用,受版权保护,禁止商业使用。

2.本文是我自己编辑和整理的。

不可避免地会有一些错误。

3.本文包含在官方帐户“嵌入式列”中,请按照微信官方帐户进行回复[printf系列教程],以查看完整的系列教程。

------------结束------------推荐阅读:USB PD快速充电通信原理C语言实现面向对象的原理无MMU抢占式操作系统抢占式工作原理关注微信公众号“ strongerHuang”,回复“ 1024”。

在后台查看更多内容,请在“按照规定加入技术交流小组。

长按可转到包含在其中的官方帐户