我试图了解使用 openOCD 进行内核感知调试和调试 FreeRTOS 需要什么。我的设置如下:stm32f401c 发现板、eclipse、openOCD 0.10、gdb。基本上,SW4STM32 1.8.0 包。
我已经做了以下事情:
- 添加
$_TARGETNAME configure -rtos auto
到 openOCD 读取的 .cfg 文件中 - 将 FreeRTOS-openocd.c 文件添加到项目中
还有什么可做的吗?我目前从 gdb 收到以下错误:
[New Remote target]
[Switching to Remote target]
Invalid selected thread.
谢谢。
--更新:
我发现了这个问题;在启动 RTOS 调度程序(即在主程序中)之前,设置的表现不佳。我已经修改 gdb 以在第一个任务处停止而不是在 main 处,现在它正在工作。openOCD 可以在调度器启动之前工作吗?