Skip to main content
Graduate
July 20, 2025
Solved

Nucleo-H7S3L8 + FreeRTOS osDelay as well as osTimerStart not working

  • July 20, 2025
  • 1 reply
  • 678 views

Hi everyone,

I'm working on an STM32H7RS project (NUCLEO-H7S3L8) with the following setup:

  • Bootloader in internal flash (0x08000000)

  • Application in external OSPI flash (XIP) at 0x70000000

  • Using FreeRTOS

  • Using TIM6 as the HAL time base (not SysTick)

  • Configured using latest STM32CubeMX and STM32CubeIDE (v1.18.1)

My current issue is that while HAL_Delay and TIM6 is working, SysTick seems not to work inside of the RTOS as soon as the scheduler starts.

I noticed that because ther CPU got caught inside osDelay without throwing an error. 

I also already checked the NVIC, but it seems pretty fine to me. Did i otherwise miss something what i configured wrong inside my IOC file?

 

 

    This topic has been closed for replies.
    Best answer by htxy

    It seems to be that SysTick_Handler() is not beeing called by the FreeRTOS.Is that a problem with the NVIC?

     

    EDIT: This is the solution, to set all the interrupts which are not 0 or 15 to something above 5 in my case, it may vary depending on your FreeRTOS configuration.

    htxy_0-1754379752321.png

     

    1 reply

    Technical Moderator
    July 21, 2025

    Hello @htxy 

    Is the systick interrupt happen? 

    htxyAuthor
    Graduate
    July 21, 2025

    Yes, when in debugging, i inspected the SFRs. After every step the value of STCVR changes, which would indicate for me that SysTick is behaiving normal and the interrupt happens.

    But i dont know if that still is the case when the Scheduler starts, as CubeIDE doesnt allow you to live debug the RTOS app.

    Technical Moderator
    July 29, 2025

    Hello @htxy

    Could you please check if the SysTick_Handler() is being called by setting a breakpoint when Scheduler starts ?