FreeRTOS causa la excepción SYSTICKACT (HardFault)

0

Generé un proyecto básico con CubeMX para STM32F4. Después de compilar y tener una ejecución exitosa, agregué FreeRTOS manualmente. Desafortunadamente, todo el tiempo recibo la excepción HardFault con el bit SYSTICKACT en SCB- > SHCSR configurado en 1. ¿Qué error he hecho al agregar FreeRTOS?     

pregunta VIPPER

1 respuesta

1

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).

    
respondido por el Richard

Lea otras preguntas en las etiquetas