当特定核心执行语句时,有没有办法在 trace32 中放置断点。
我有一块四核cortex-a7
板(树莓派 2)。我能够连接到它,放置断点(现在仅适用于核心 0),但我希望 trace32 仅在特定核心执行断点代码时才到达断点。比如说核心 3 执行它。
目前断点仅在 core-0 中命中。我编写了一个简单的程序,将 0-9 输出到 UART。此外,当我在 trace32 中运行任何程序时,通过将其直接加载到 RAM 中,似乎只有核心 0 正在执行,并且它反复进入“由向量捕获停止”,但是当我通过将程序加载到 sdcard/flash 内存中来尝试它时,所有四个核心似乎都在执行。
我已经通过激活其他内核和停用它们来检查 uart 输出,并且似乎这些内核确实被相应地激活和停用。
内核停用时的 uart 输出是正确/有序的(打印从 0 到 9 的系列),当内核处于活动状态时,它的混合 ( print of 0-9 are not in order
),证明了我的假设。
此外,当它在核心 0 的断点处停止时,如果我从 trace32 状态栏中的下拉菜单中选择其他核心,则其他核心正在执行不同的语句。即不同核心的电脑是不同的。
我尝试使用条件断点,例如
break.set myfunc\7 /COND core()==3
但这似乎不起作用。
任何帮助表示赞赏。提前致谢