You are viewing a static version of the site. Enable JavaScript to benefit from the
full functionality of this site and enable such things as forum posting.
Howto reconfigure FreeRTOS
ullix:
I'm running multiple Tasks and for debugging wanted to activate rtos function vTaskList following this rtos guidance:
https://www.freertos.org/a00021.html#vTaskList
I changed the 2 mentioned config settings to 1 under .uecide/cores/esp32/sdk/include/freertos/freertos and did the Help -> Debug -> Rebuild internal structures, but compiling still fails with "undefined reference to `vTaskList'"
How can I convince uecide to use the modified settings of rtos?
matt:
Rebuild internal structures
just rebuilds UECIDE's lists of what is installed and where it is installed. It doesn't do anything about the content of what is installed.
You probably just have to purge the cache files for the core to make it recompile the core. The simplest way is just to hold SHIFT
when you press the compile button.
ullix:
Looks like it is a wee more complicated: after I took out the vTaskList command, it still would not compile, but now come with this message
/home/ullix/.uecide/cache/esp32/esp32-generic/libCore_esp32.a(esp32-hal-i2c.c.o):(.iram1.literal+0x4): undefined reference to xEventGroupSetBitsFromISR' /home/ullix/.uecide/cache/esp32/esp32-generic/libCore_esp32.a(esp32-hal-i2c.c.o): In function
i2cIsrExit':
/home/ullix/.uecide/cores/esp32/esp32/esp32-hal-i2c.c:1752: undefined reference to `xEventGroupSetBitsFromISR'
collect2: error: ld returned 1 exit status
Compiling Failed
That complained-about command is not in my code. After I reverted my two changes, and rebuild structures, it compiles ok again.
I still would like to use the vTaskList (and other modifications). Any guidance?
matt:
Both those required config settings are already set to 1 in my installation (however vTaskList still doesn't work). What version of the ESP32 core are you using right now?
I suspect that libfreertos.a wasn't compiled with vTaskList enabled though, so there's not a lot you can do.
matt:
Yeah, I can confirm that there is no vTaskList function in tasks.o in libfreertos.a - so all you can do is take it up with the authors of the ESP32 core...
ullix:
Sigh. Thank you for following up.
matt:
I've recently switched to working with the ESP-IDF for most of my ESP32 work. The features for low-level programming are far better. But of course you don't get all the nice libraries for peripherals...