in System Integration by
Hi, we are using EW with STMF769-discovery board. We are trying to integrate a firmware code using SPI communication using timebase source (tm9) in original project. CubeMX is use to generate the original firmware code. We use freeRTOS in both project (firmware and EW). As we can see in the code below, EW is using SYSTICK as the timebase source when use with freeRTOS:

void SysTick_Handler(void)

  #if EW_USE_FREE_RTOS == 1

But when we try to change that configuration in cube MX (tm9 to SYSTIC) there is a message that strongly recommend to not use SYSTIC as a timebase when using freeRTOS.

When integrating the SPI code in the EW project the communication wont work and we think it's because of this configuration problem. Can someone help us find a solution for this problem ? (change timebase of EW or adapt it?)


Thank you


1 Answer

0 votes

Hi Oli,

the time base, even if CubeMX says it's not recommend to use SYSTICK  therefore, is correct. We do not really know why STM32CubeMX wouldn't allow that but on the other side in ST examples this is totally normal...

A couple of months ago I had prepared a STM32CubeMX project for the STM32F746G Discovery, you can find it here. Clearly it wasn't made for the same controller, but basically the STM32CubeMX workflow is quite similar. Even in that project the FreeRTOS warning appears, but the OS it works anyway.

Unfortunately this conversation here is a bit uncompleted, cause the rest of the it was in our email exchange. As I already wrote there, I'm assume the problem is caused by a wrong task priority setup.

So, have you seen this thread here? It often happens that FreeRTOS tasks can block each other...

Best regards,


Ask Embedded Wizard

Welcome to the question and answer site for Embedded Wizard users and UI developers.

Ask your question and receive answers from the Embedded Wizard support team or from other members of the community!

Embedded Wizard Website | Privacy Policy | Imprint