Trace32 设备中的"访问超时,目标运行"错误



每当我尝试运行设备以调试 C 代码时,我都会收到此错误,这是什么意思?这是否意味着堆栈或堆内存错误?最初,当我再次尝试运行它时,它运行良好,我一次又一次地收到此错误。

">

访问超时,目标运行"通常意味着无法访问内存,因为您的CPU(又名。"目标"(正在运行。

若要避免这种情况,请中断目标程序执行或启用运行时内存访问。

默认情况下,TRACE32 在 CPU 运行时不访问内存,因为从调试器访问内存通常会对 CPU 的执行性能产生一些影响。(考虑到任何内存通常只有一个接口,这意味着如果调试器和CPU想要同时访问,则它们中的任何一个都必须停止,直到另一个完成其访问。这种影响可能非常小,可能不会引起任何问题,但为了在保存端,默认情况下会阻止运行时内存访问。

要启用运行时内存访问,请使用命令SYStem.CPU.MemAccess.CPU(使用 ARM Cortex CPU 时,它SYStem.CPU.MemAccess.DAP(,并使用地址访问类E:打开内存转储窗口。 例如:

Data.dump E:0x1000
Data.dump E:myvariable
Var.AddWatch %E myvariable

对于某些CPU(例如Cortex-M(,TRACE32提供选项SYStem.Option.DUALPORT.ON,这会导致所有内存窗口自动打开地址访问类E:

trace32 有时会报告此错误,因为由于文件夹名称有空格,您从获取可执行文件到闪存的路径中有一个空格。 例如:D:\嵌入式训练 将空格替换为下划线 D:\Embedded_training。

相关内容

最新更新