1.arm printfԴ??
arm printfԴ??
SWO(Serial Wire Output)串行线输出是单引脚、异步串行通信,适用于Cortex-M3/M4/M7内核,主要通过ITM(Instrumentation Trace Macrocell)模块实现。ogremax 源码ITM模块包含个刺激端口,允许不同的软件输出数据到不同端口,便于调试主机将消息分开。其中,SWO输出与串行线查看器(SWV)配合使用,需要一根SWO引脚进行连接。
本文主要介绍基于Keil『Debug(printf)Viewer』的js源码中文乱码SWO打印输出配置,结合STM、ST-link和J-link工具进行配置。为了理解ITM模块的输出,需要了解TPIU(Trace Port Interface Unit)跟踪端口接口单元,它是eclipse关联servlet源码SWO引脚配置的关键部分。在STMCubeMX工具中,通过Debug选项进行SWO引脚配置。
在Keil MDK-ARM中,通过配置跟踪Trace、设置CPU时钟和选择ITM端口实现SWO输出。内核源码安装perf若使用ST-Link或J-Link,需进行特定的配置步骤。ITM发送源码需要从核心源代码中获取,使用ITM_SendChar函数进行字符输出。修改ITM端口需调整源代码中对应的android 证件扫描源码值,并确保已启用相应的ITM刺激端口。
为辅助学习,提供源码工程下载,包含STMF(HAL)_SWO和STMF(HAL)_SWO两个实例。下载链接在百度网盘,提取码为nbd3。请关注公众号以获取最新链接,源码仅供参考,可能不适用于所有实际项目。
本文旨在提供个人学习用的教程,内容由单人整理,可能存在错误。关注微信公众号『嵌入式专栏』可获取全系列教程。博客网址为strongerhuang.com,GitHub为github.com/EmbeddedDeve...,欢迎访问查看更多信息。