Skip to main content
Nicholas Yunker_2
Senior
March 9, 2026
Solved

MotorControlWorkbench Project with ARM RTOS2 RTX5

  • March 9, 2026
  • 1 reply
  • 374 views

I have created a project in MotorControlWorkbench version 6.4.0 with both no RTOS and FreeRTOS (by clicking the radio button in MotorControlWorkbench) and gotten it to work successfully on my custom hardware based on the EVLServo1 eval kit.  However, because I use he Keil toolchain I would prefer to use RTOS2 RTX5 for my RTOS instead.  I have managed to create the project with MotorControlWorkbench (with no FreeRTOS) and then when I open it in Keil I go into the Manage RunTime Environment and enable the RTOS2 RTX5 RTOS.  This adds a number of files to the project.  I have worked through a number of compilation errors and am now getting one last error:

Error: L6200E: Symbol SysTick_Handler multiply defined (by irq_armv7m.o and stm32_mc_common_it.o).

I understand this to mean that RTOS2 RTX5 has a SysTick_Handler of it's own and so does the HAL libraries created by MotorControlWorkbench and I need to switch one of them over to use a hardware timer like TIM6 instead.  Everywhere I've read recommends switching HAL over to TIM6 but with the motor control libraries it appears that they use this IRQ handler to run the motor software.  Can anyone tell me exactly what I need to do resolve this error?

Best answer by GMA

Hello @Nicholas Yunker_2,

With Free Rtos disabled, SysTick is used by the Motor Control firmware and then SysTick_Handler  is already defined.
The TIM6 is the default timer used for the MCSDK Free Rtos feature, but it is configurable through MC Workbench, Application Configuration tab.

1 reply

GMA
GMABest answer
Technical Moderator
March 12, 2026

Hello @Nicholas Yunker_2,

With Free Rtos disabled, SysTick is used by the Motor Control firmware and then SysTick_Handler  is already defined.
The TIM6 is the default timer used for the MCSDK Free Rtos feature, but it is configurable through MC Workbench, Application Configuration tab.

If you agree with the answer, please accept it by clicking on 'Accept as solution'.Best regards.GMA
Nicholas Yunker_2
Senior
March 12, 2026

My plan was to use RTOS2 RTS5 instead of FreeRTOS.  I would like to configure the MotorControl software to use Tim6 instead of either FreeRTOS OR SysTick_Handler.