我使用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中看到不同的任务了。