首页 > 解决方案 > 运行 Lauterbach CMM 脚本时调试端口问题

问题描述

目前我正在开发劳特巴赫 CMM 脚本来自动化 SPC58NG84 的测试用例作为测试用例的一部分: - 需要在测试用例之前和之后重置目标系统。- 需要从 C 代码中读取和写入变量值。

当我运行测试脚本时,出现错误“调试端口问题”,并且在“观察窗口”中所有变量值都显示 BUS ERROR。

你能告诉我如何调试这个问题吗?

导致“调试端口问题”的原因是什么?

winodw 区域中的错误消息:CO:2 错误:CPU 突然离开调试模式 (OSR=0x3C1) CO:0 JTAGID=0x11110041 警告:CO:1 内核当前处于重置状态。在激活时停止核心。

CMM 脚本: 测试前提条件:重置目标

 Break.Delete
 WAIT 100.ms
 SYStem.Mode Down
 SYStem.DETECT.CPU
 SYStem.Mode Up
 B:: Go
 WAIT 500.ms

测试用例执行: --在软件中读写变量-----

测试岗位条件:重置目标

 Break
 Break.Delete
 WAIT 100.ms
 SYStem.Mode Down
 SYStem.Mode Up
 B:: Go
 WAIT 1000.ms

标签: trace32lauterbach

解决方案


Break 命令后出现的错误“调试端口问题”通常意味着目标应用程序严重崩溃,以至于内核不再响应调试器的停止命令。

为了调试问题,请确保您的引导加载程序尽早设置中断向量起始地址 (IVPR),并将分支到自身指令放到所有中断处理程序地址,除非中断处理程序代码已经存在。

完成此操作后,将程序预定义点设置为通常涉及崩溃的中断处理程序:机器检查、数据存储、指令存储、程序中断。这样做应该会在崩溃发生时捕获内核,并且 SRR0(CSRR 或 MCSRR,取决于中断类型)将显示问题发生在哪个地址。


推荐阅读