首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >STM32 SWD协议-端口号

STM32 SWD协议-端口号
EN

Stack Overflow用户
提问于 2019-02-03 03:36:57
回答 1查看 327关注 0票数 1

我开始在我的STM32发现板上使用社保功能。我将openocd跟踪输出重定向到文本文件(因为我没有找到适用于Linux的好的SWD监视器)。当我只发送一个字符时,我不知道为什么我会得到两个字符。

在我的输出文件中,每个字符的前面都有不同的ASCII代码(大多数情况下没有可打印的)。由于端口的原因,前面的代码是恒定的。例如:

代码语言:javascript
复制
Port 0:
0x01 [Character] 0x01 [Character] etc.
Port 1:
0x09 [Character] 0x09 [Character] etc.
Port 2:
0x11 [Character] 0x11 [Character] etc.
Port 3:
0x19 [Character] 0x19 [Character] etc.

我在github代码中发现,他们使用前面的代码>> 3公式来获取端口号。它是有效的。

我像这样使用CubeMX & HAL实用程序:

代码语言:javascript
复制
ITM->PORT[portNum].u8 = (uint8_t)ch; 

发送"ch“字符。

为什么需要使用字节操作?前面的代码除了端口号之外还有其他信息吗?我尝试在目录中提供资金,但每个示例都使用ST监视器

我能理解在SWD中什么是前面的代码吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-13 05:26:03

看看我的答案:https://stackoverflow.com/a/57014035/6552613

您所看到的是成帧,它使得来自多个ITM端口的数据能够多路复用到SWO引脚上的字节流。

如果您想确切地了解框架是如何构建的,请阅读ARM文档DDI0314的“仪器跟踪宏单元”一章。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54496794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档