hello i’am using FreeRtos API with stm32f4 microcontroller , the program gets stuck when it enters vTaskDelay , when I debug it I see that it is stuck in this line (2588 of tasks.c at function vTaskDelay)
if( listCURRENT_LIST_LENGTH( &( pxReadyTasksLists[ tskIDLE_PRIORITY ] ) ) > (UBaseType_t ) 1 )
{
taskYIELD();
}
thaks a lot for your answers
The code of "xTaskIncrementTick "is not reached during the debug session
I don’t have a "configASSERT "
according to the link you specified , some functions should be defined inside a new file called "application_defined_privileged_functions.h ", can you please specifie for me what are these functions and how to do this
The code of "xTaskIncrementTick "is not reached during the debug session
That will be why the delay function doesn’t return. It doesn’t sound
like your tick interrupt is executing, and if the tick interrupt is not
executing then time stands still - hence the delay never expires.
I don’t have a "configASSERT "
It is always recommended to have configASSERT() defined when developing.
It can find an error in seconds that could otherwise take weeks - I
can’t put it any more clearly than that. It is also best to have the
latest version of FreeRTOS as we add more configASSERT() statements to
assist people.
according to the link you specified , some functions should be defined
inside a new file called "application_defined_privileged_functions.h ",
can you please specifie for me what are these functions and how to do this
Not sure what you mean here - I thought I had sent a link to the
configASSERT() description on the configuration web page, nothing about
privileged functions.
If you are using STM32 cube then it may have its own systick handler, but that should be calling the FreeRTOS one. Did you create the project yourself, or did the cube software create it for you?
hi this was so much helpfull
in fact i’ve been working with the FreeRTOSConfig.h generated with stmcube and the following was commented , I decommented it
now everything is working fine
thankyou
/* IMPORTANT: This define MUST be commented when used with STM32Cube firmware,
to prevent overwriting SysTick_Handler defined within STM32Cube HAL */
/* #define xPortSysTickHandler SysTick_Handler*/