再会
我正在使用 NXP 的 MCU-Link Debug Probe 调试 RT1176 处理器。我想获取有关我项目中中断的详细信息,因此我尝试为 SWO Tracing 配置项目。
这些是我遵循的步骤:
- 在“Clocks”ConfigTool 视图中将 CSTRACE 时钟配置为 132MHz 频率:
- 在“引脚”配置工具视图中,启用 SWO 引脚并将其路由到两个给定选项之一:
- 在“引脚”配置工具视图的“路由详细信息”视图中,引脚的默认设置以斜体显示。单击每个可访问选项的下拉菜单并重新选择默认值。这会将设置参数更改为普通文本(不是斜体)。这确保为这些设置生成代码。我之前发现按原样使用这些“默认”(斜体)值会导致引脚无法按预期工作。
- 单击 ConfigTools 视图中的“更新代码”。
- 启动调试会话
- 在“SWO Trace Config”窗口中,将“Clock speed”配置为 132MHz。
- 使用各种 SWO Trace 视图的启动/停止控件来跟踪
为了验证我的 SWO Tracing 设置,我在 eaimxrt1176_cm7 Embedded Ar
tist SDK 示例项目上执行了上述步骤。请注意,必须先为项目启用 Pins 工具,然后才能对引脚进行更改(因为它是一个 SDK 项目)。
根据项目的 main(),PIT 中断应该每秒发生一次:
然而,跟踪显示它大约每 7 秒只发生一次(参见“测量间隔”):
Cortex M7 内核根时钟设置为 996MHz。似乎 SWO 跟踪使用核心根时钟而不是 CSTRACE 时钟来确定中断时序。这可以解释大约 7 的乘数,因为 996/132 = 7.54。
我在 MCUXpresso v11.5.1 和 MCUXpresso v11.6.0 中都遇到了同样的问题。
这是 RT1176 的 SWO 跟踪中的错误吗?有已知的修复方法吗?