我在 Linux Ubuntu 上,使用最新版本的 STM32CubeIDE进行开发,测试硬件采用 STM32H757I-EVAL 开发板。测试代码基于 RTOS编写,但个人认为此处的问题与 RTOS/RTEMS 无关。
现象如下:代码链接到 FLASH时:调试完全正常,可按需单步执行、恢复程序运行,我设置的 3 个断点也能正常工作;
代码链接到 SRAM时:调试功能异常,无法正常单步执行,部分函数会导致调试永久阻塞,调试器显示正在执行 “单步操作”,但后续无任何响应;此外,在测试 3 个断点的配置时,仅能成功恢复程序运行一次:第二次执行 “恢复运行” 后,代码总会停留在序列中的第二个断点处,无法继续往下执行;若切换到 “指令级单步执行” 并观察程序计数器,会发现执行单步操作后,PC 寄存器的值并未向前推进。
补充说明:两次测试使用的是完全相同的代码,且设置了相同的断点,唯一区别仅在于代码的链接目标,链接到闪存时正常,链接到 AXI SRAM 时出现上述异常。
想请教:可以通过哪些操作解决该问题?是否是我存在某些操作失误,导致 IDE / 调试器无法正常工作?
|
|