cancel
Showing results for 
Search instead for 
Did you mean: 

Unable to use Debugger while monitoring multiple threads

Gallo4
Visitor

Hello! I am developing my first FreeRTOS system and believe I have an error somewhere between tasks and I cannot find a good way to monitor them as the debugger is not showing me that multiple threads are running but as I step through it jumps from task to task when they are blocked so they should be preempting.

 

 

Anyways, I am using the STM32F446RE Nucleo development board with the folowing firmware versions:

 

ST-Link V2J4M32 STM Debug+Mass storage+VCP 

STM32CubeIDE 1.16.1

 

Here is the setup for my tasks

 

  /* definition and creation of NoteQueue1 */
  osMessageQDef(NoteQueue1, 64, note);
  NoteQueue1Handle = osMessageCreate(osMessageQ(NoteQueue1), NULL);

  /* Create the thread(s) */
  /* definition and creation of ParseMidi */
  osThreadDef(ParseMidi, StartParseMidi, osPriorityNormal, 0, 128);
  ParseMidiHandle = osThreadCreate(osThread(ParseMidi), (void*) ctrl);

  /* definition and creation of AudioOutput */
  osThreadDef(AudioOutput, StartAudioOutput, osPriorityNormal, 0, 128);
  AudioOutputHandle = osThreadCreate(osThread(AudioOutput), (void*) ctrl);


  /* Start scheduler */
  osKernelStart();

 

 

And here is the error that is thrown by the debugger 

 

Loading RTOS driver... FreeRTOS

Connecting to GDB server 127.0.0.1 on port 61234 ... Connected

Listen for GDB connection on port: 60000 ... Connected

xList.pxNext.pvOwner == 0x0

Update threads. Failed collecting threads.

 


This error repeats every step as well.

 

and here is my debug configuration settings 

7cf8bd84-2696-4a96-a710-a5aa7ee3a60c.png

 I also made sure within the .ioc file USE_TRACE_FACILITY, USE_STATS_FORMATTING_FUNCTIONS, are all enabled.

 

I would appreciate some sort of guidance if possible.

 

Please :)

 

0 REPLIES 0