Cannot execute this command without a live selected thread

Cannot execute this command without a live selected thread

фотка 1

Возникает при использовании JLink программатора с ключом отладки -freertos .

Главное понимать , что это сообщение НЕ ВЛИЯЕТ на процесс отладки и сбора статистики FreeRTOS в TaskLis и т.д.

Если TaskList у вас пустой или Task Aware Debugger плагин ничего не показывает смотрите в соседних ветках сайта как это настраивается.

Можно убить много времени на форуме Segger-а и т.д.


Надо въезжать в код FreeRTOS и в работу самого отладчика.


Можно посмотреть лог дебаггера JLink c GDB отладкой и может показаться , что тут не все правильно:

Listening on TCP/IP port 2331
Connecting to target...
Connected to target
Waiting for GDB connection...Connected to 127.0.0.1
Reading all registers
Read 4 bytes @ address 0x08001CDE (Data = 0x68234D13)
Loading RTOS plugin: C:\Program Files (x86)\Atollic\TrueSTUDIO for STM32 9.3.0\Servers\J-Link_gdbserver\GDBServer\RTOSPlugin_FreeRTOS.dll...
RTOS plugin (API v1.0) loaded successfully
RTOS plugin: Loaded
Received symbol: pxCurrentTCB (0x200042F8)
Received symbol: pxReadyTasksLists (0x20004304)
Received symbol: xDelayedTaskList1 (0x2000477C)
Received symbol: xDelayedTaskList2 (0x20004790)
Received symbol: pxDelayedTaskList (0x200042FC)
Received symbol: pxOverflowDelayedTaskList (0x20004300)
Received symbol: xPendingReadyList (0x200047AC)
Received symbol: xTasksWaitingTermination (0x200047D8)
Received symbol: xSuspendedTaskList (0x200047C4)
Received symbol: uxCurrentNumberOfTasks (0x20004764)
Received symbol: uxTopUsedPriority (0x00000000)     
Received symbol: uxTopReadyPriority (0x20004778)
Received symbol: vPortEnableVFP (0x08001018)
Received symbol: FreeRTOSDebugConfig (0x00000000)   !!!!!!!
All mandatory symbols successfully loaded.

Но это НЕ ВЛИЯЕТ на процесс отладки на самом деле никак!

В какой-то момент в голову приходит мысль закомментировать на закладке Startup Scripts все команды .
Таким образом выяснилось , что continue вызывает это сообщение.

# Default GDB command file (FLASH) for SEGGER J-LINK and STMicroelectronics STM32F407VE microcontroller.

# Set character encoding
set host-charset CP1252
set target-charset CP1252

# Set JTAG speed to 30 kHz
monitor speed 30

# Set GDBServer to little endian
monitor endian little

# Reset the chip to get to a known state.
monitor reset

# Set auto JTAG speed
monitor speed auto

# Setup GDB FOR FASTER DOWNLOADS
et remote memory-write-packet-size 1024
set remote memory-write-packet-size fixed

# Enable flash download
monitor flash download = 1

# Load the program executable
load		   // это загрузка прошивки в контроллер , появляется небольшое окно по центру с индикаторами загрузки и исчезает 

# Reset the chip to get to a known state. Remove "monitor reset" command 
#  if the code is not located at default address and does not run by reset. 
monitor reset
# Set a breakpoint at main().
tbreak main

# Run to the breakpoint.
#continue  !!!!!!!!

Кстати именно эта ошибка заставила меня изучить как работает отладчик и собирается статистика по потокам FreeRTOS.

Смотрите в соседних ветках сайта.