Tanto HAL como FreeRTOS usan SysTick - CubeMX hace esto llamando al controlador de systick FreeRTOS (vPortSysTickHandler () creo, pero podría tener el nombre equivocado) desde su propio controlador de systick. En FreeRTOS puede hacer lo contrario llamando al controlador de systick HAL desde la función garrapata de FreeRTOS . Sin embargo, tenga en cuenta que, mientras FreeRTOS normalmente ejecuta SysTick con la prioridad más baja posible, el código generado por CubeMX necesita que SysTick se ejecute con la prioridad más alta (debido a que sus controladores de interrupción contienen demoras que giran en el valor de la marca y no desea matan de hambre la interrupción que están esperando).