Hi, I am making a proyect using FreeRTOS with PIC24F, I already included all the Rtos’ source files and the compiler doesn’t have errors, but when I build the proyect this errors appears:
build/XC16_24FJ256GA110/production/main.o(.text+0xa): In function .LSM2': : undefined reference to _vTaskDelay’
Please if you know how solve this problem help me
Thanks
In which case, if INCLUDE_vTaskDelay is really set to 1, I have no idea
what the problem could be. Have your FreeRTOS source files been
modified in any way? Can you verify that tasks.c contains vTaskDelay()
and there there are no other per-processor definitions that are stopping
it from being built?
As a test, could you make the following change to task.c ?
+/* Start of insertion. */
+ #if ( INCLUDE_vTaskDelayUntil == 1 )
+ #warning vTaskDelayUntil should get compiled
+ #else
+ #warning vTaskDelayUntil will not get compiled
+ #elif
+/* End of insertion. */
+
#if ( INCLUDE_vTaskDelayUntil == 1 )
void vTaskDelayUntil( TickType_t * const pxPreviousWakeTime, const TickType_t xTimeIncrement )
{
( the lines marked with a + are to be added )
My guess would be that you have multiple versions of FreeRTOSConfig.h on your disk and that the compiler see the wrong one. Check your include -I paths.
You can also test this by adding a line in your FreeRTOSConfig.h file: