你好,恩智浦社区、
我一直在试验 MCXA156 控制器及其相应的开发板的调试功能。
我的设置
(FRDM-MCXA156) 以及定制板中的 MCXA156。
MCUXpresso IDE v25.6 [内部版本 136] [2025-06-27]
MCU Link pro 调试器
到目前为止,通过恩智浦 Expresso SDK 中的各种示例,我能够满足大部分调试需求。(断点、数据监视点、ITM 打印重定向、中断跟踪等)。
不知何故,我只能在 SWO 上使用 Data Watch Trace/Stream。我想我误解了 MXCA156 调试功能的功能。
据我所知,MCXA156 支持 ITM 和 DWT。
有了它,就可以添加读/写数据编译器,并通过 SWO 引脚流出/跟踪相应的数据。在我的设置中,我似乎无法使用"SWO Data" 窗口,即使所有其他跟踪功能似乎都能正常工作。
我的设置是否正确,还是 MCUXpresso IDE 还不支持我的使用情况?
顺祝商祺!
亚历克斯
你好@AlexRu
要使用 SWO,您可以按照提供的步骤指南进行操作。
硬件要求:
确保芯片的 SWO 引脚连接到调试器的 SWO 接口。
(这是 FRDM-MCXN947 板)。
软件配置:
2.配置跟踪时钟:
CLOCK_AttachClk(kTRACE_DIV_to_TRACE); /*!将 TRACE 切换到 TRACE_DIV */
/*!安装分频器 */
clock_setclkdiv (kclock_divtraceCLK,3U); /*!将 TRACECLKDIV 分频器设置为值 3 */
3.在 MCUXpresso IDE 中配置 ITM 控制台视图:
有关 SWO 和 DWT 使用的详细信息,请参阅MCUXpresso_IDE_25.06_Instruction_Trace_Guide.pdf 。您可以在 MCUXpresso IDE 安装路径下找到该指南。
BR
爱丽丝
嗨,爱丽丝、
非常感谢你对如何设置 SWO 跟踪的详细可视化说明。
就我而言,我已经验证了 SWO 引脚(MXCA-156 PCB)与我的 MCU-Link Pro 调试探针的电连接。您提到的 PDF 文件确实提供了更详细的信息,扩展了我的知识面。尽管如此,这并不能真正解释/反驳我对使用 DWT 的假设。
在我的设置中,我已经在"SWO Interrupts" 窗口中看到了中断返回和中断入口点的数据:(这是我的 SW 的实时数据!有意义的数据和正确的时间信息)。
有了这些信息,我验证了我通过SWO引脚的电连接是否正常,跟踪时钟已启用,频率符合我的SWO Trace Config中的预期。
我错过了什么(或者我这边可能有误会?)是通过数据观察比较器 (DWT) 将数据追踪到窗口 " SWO Data " 中的 SWO 跟踪引脚的功能。
在启用"play" 按钮后,我没有收到任何跟踪信息:
我甚至证实,在我的 MXCA156 配置中,数据监视点仅限于 2 个比较器,因此 IDE 似乎能够设置它们并警告设置的数据观察点过多(我故意这样做是为了检查其合理性):
所以我的问题是是集成开发环境支持这种调试方法,还是我理解错了,DWT 完全不提供这种数据跟踪功能?
你好@AlexRu
感谢您的回复。
请告诉我您想使用 DWT 观察哪些数据?
另外,请共享一个可以重现该问题的项目,并提供一段视频,展示您所采取的所有步骤。
我将利用这些信息来重现和检查我这边的问题。
谢谢!
BR
爱丽丝
你好@Alice_Yang、
我确实根据 SDK 示例(LED Blinky)为 FRDM-MCXN236 演示板准备了一个极简主义项目。(demo_apps -> LED_BLINKY_PERIPHERAL)
MCXN236 板设置显示的效果似乎与我之前使用的 MCXA156 板相同。我只是想在另一个板确认这种行为。
引脚配置设置 P0_2 -> 输出 SWO(本例中为默认值)
启用 TRACECLK 和 TRACECLKDIV (1),因为本例使用 BOARD_BootClockFRO12M()
添加了以下代码,以查看 glocal ram 变量的一些操作:
volatile uint32_t debug_cnt = 0;
void SysTick_Handler(void)
{
/* Toggle pin connected to LED */
GPIO_PortToggle(BOARD_LED_GPIO, 1u << BOARD_LED_GPIO_PIN);
debug_cnt++; //<- added for demonstration purpose
}附件:包含演示项目和调试视频的压缩包。
您可以看到"SWO Data" 没有显示任何跟踪数据。全局变量窗口显示在 ~1 秒的 SysTick_Handler 周期内 debug_cnt 的增量。" SWO Interrupts " 还能可靠地显示 systick_Handler () 的进入和退出,因此 SWO 跟踪的电连接似乎可以正常工作。
如果我能提供更多信息以缩小问题范围,请告诉我。
如果您能确认我所期望的用 DWT 追踪全局/静态 RAM 变量是否可行,我也将非常高兴。或者是我理解错了。
你好@AlexRu
BR
爱丽丝
你好@AlexRu
BR
爱丽丝
我目前正在使用FRDM-MCXA156开发板,在调试过程中遇到了SWO(串行线输出)问题。
虽然应用程序调试成功,但我无法在SWO 跟踪窗口中接收任何数据,包括:
为了排查问题,我已经核实了以下内容:
尽管进行了这些配置,但在调试过程中所有 SWO 跟踪窗口仍然为空。
为了方便参考,我附上了SWO 跟踪配置、 SWO 数据、 SWO 配置文件和SWO 中断跟踪窗口的截图。
对于可能导致此问题的原因,或者在FRDM-MCXA156上启用 SWO 跟踪是否需要任何额外的配置步骤,我非常感谢您能提供任何指导或建议。
感谢您抽出时间提供帮助。
你好@sidsal
很抱歉回复晚了。我们可能无法及时看到您的后续问题。为了确保更快地获得支持,下次请创建新的工单。
关于您目前的问题,我们发现了一个与 MCUXpresso 相关的问题。如果问题仍未解决,请您在以下位置创建私人工单:首页
谢谢!
BR
爱丽丝