1. printf系列教程04_SWO打印输出配置,基于IAR『Terminal IO』
本文由『strongerHuang』原创首发于微信公众号『嵌入式专栏』,并同步发布在他的个人网站 EmbeddedDevelop。本文主要讲解如何在基于IAR的『Terminal IO』中配置SWO打印输出,适用于Cortex-M3/M4/M7的STM32开发。
SWD、SWO、SWV和ITM是一组用于调试的串行接口,其中SWO(串行线输出)是单线异步通信方式,通过Cortex-M系列的内核ITM模块实现。要使用SWO,首先确保你的STM32 MCU有相应的引脚,如Cortex-M3/M4/M7,而M0系列如STM32F0、STM32L0和STM32G0则不支持。
在STM32CubeMX中,只需在Debug选项中配置SWO引脚。要实现在IAR EWARM的『Terminal IO』中输出,首先在Project选项中选择调试工具(ST-Link或J-Link),并配置相应的CPU时钟。进入调试模式后,进入SWO配置,设置时钟和使能ITM端口,以及PC采样。重定义代码时,将UART发送字符替换为ITM_SendChar函数,根据需要修改ITM端口号并确保相关刺激端口启用。
为了帮助理解,文章提供了两个示例源码工程:STM32F103(HAL)_SWO和STM32F411(HAL)_SWO,链接在网络网盘,提取码nbd3。请注意,链接可能需要关注公众号获取最新链接,源码仅供参考,可能不适用于所有项目。
最后,本文版权属于作者,仅供学习使用。作者在strongerhuang.com和github.com/EmbeddedDeve...分享更多信息,关注微信公众号『strongerHuang』,随时获取更多嵌入式教程内容。