Estoy usando un STM32F103 en mi proyecto y genero el proyecto Keil con Cube32MX con este paquete de firmware para STM32F1 versión 1.4.0.
Hoy actualizo el Cubo a la versión 4.23.0 y migro mi proyecto (incluida la actualización del paquete de firmware v 1.6.0.
No hay ningún problema durante la compilación del programa, a menos que algún Watchdog lo defina. Uso FreeRtos v. 9 pero anteriormente (cuando todo funciona, uso v. 8)
Cuando ejecuto el programa en modo de depuración, la inicialización de periféricos (main.c) funciona, pero cuando mi tarea comienza, el programa se reinicia y vuelve a ejecutarse la inicialización de periféricos en el archivo main.c.
#if ( ( configUSE_PREEMPTION == 1 ) && ( configIDLE_SHOULD_YIELD == 1 ) )
{
/* When using preemption tasks of equal priority will be
timesliced. If a task that is sharing the idle priority is ready
to run then the idle task should yield before the end of the
timeslice.
A critical region is not required here as we are just reading from
the list, and an occasional incorrect value will not matter. If
the ready list at the idle priority contains more than one task
then a task other than the idle task is ready to execute. */
if( listCURRENT_LIST_LENGTH( &( pxReadyTasksLists[ tskIDLE_PRIORITY ] ) ) > ( UBaseType_t ) 1 )
{
taskYIELD();
}
else
{
mtCOVERAGE_TEST_MARKER();
}
}
Intento deshabilitar la preferencia de FreeRtos, intenté cambiar el temporizador del sistema pero nada ha cambiado.
¿Debo modificar algunos parámetros de configuración de FreeRtos en Cube32Mx?
¡Gracias por la ayuda!