我使用openocd和arm-none-eabi-gdb进行了设置,我正在尝试调试FreeRTOS固件。

我从以下内容开始openocd:

openocd -f /usr/local/share/openocd/scripts/board/stm32f0discovery.cfg -c "stm32f0x.cpu configure -rtos auto"

该命令工作正常。

然后,我运行arm-none-eabi-gdb -tui,并在.gdbinit的末尾有:
target remote localhost:3333
monitor reset halt
file build/fw.elf
load
continue
focus next

但是当我尝试停止<ctrl>-c并启动continue时,我得到的只是错误:
Cannot execute this command without a live selected thread.

我想念什么?

我正在使用JLink Base调试探针。

最佳答案

我的案例与您的案例有些不同,使用QtCreator及其Baremetal插件进行了设置,但是发现了一个错误报告,其中指出了一种解决方法:

https://bugreports.qt.io/browse/QTCREATORBUG-18436

解决方法非常简单:

in GDB Init commands add "info threads" after load command. It fixes issue.

我尝试了一下,并成功了,错误消息已删除,现在我可以在FreeRTOS中看到不同的任务了。

08-27 08:56