首页 > 解决方案 > 无法在 STM32H753 上写入 TMC/ETF 寄存器

问题描述

这个问题是这个问题的后续。

我尝试将 ETF 配置为循环模式,以便能够在 STM32H753 上通过嵌入式软件读取执行跟踪,以防出现严重错误。

我遵循 ARM 的 Trace Memory Controller 参考手册(第 2.2.2 节)中描述的算法

但是我不能写 ETF 寄存器:我​​通过写幻数0xC5ACCE55寄存器来解锁 ETF 宏单元,ETF_LAR但是当我读取 z 寄存器时它们都是 0(通过调试器或 printf),当我写它们时它们仍然为 0。

关于如何编写 ETF 寄存器的任何建议?

标签: armstm32trace

解决方案


STM32H7 doc中其实有一个错误:

在此处输入图像描述

几页后: 在此处输入图像描述

我的理解是第二张图片是错误的。

我还必须使用“组件基地址(系统总线)”而不是“组件基地址(调试器)”。这种双地址的概念非常令人困惑,例如对于 ETM,只有一个地址。

无论如何使用0x5C014000作为基地址,我可以读/写寄存器


推荐阅读