RTX5 Inclusion

Hi everyone!

i'm trying to add CMSIS-RTX5 in my project.

Without RTX5 the code run correctly.

Adding RTX5 the following error appears:

.\stm32_base.axf: Error: L6200E: Symbol PendSV_Handler multiply defined (by irq_cm4f.o and stm32l4xx_it.o).
.\stm32_base.axf: Error: L6200E: Symbol SVC_Handler multiply defined (by irq_cm4f.o and stm32l4xx_it.o).
.\stm32_base.axf: Error: L6200E: Symbol SysTick_Handler multiply defined (by irq_cm4f.o and stm32l4xx_it.o).

Reading the documentation I find out  that: 

On Cortex-M processors, the RTX5 kernel uses the following interrupt exceptions. The table below also lists the priorities that must be assigned to these interrupts.

Handler Priority Interrupt/Exception
SysTick lowest Kernel system timer interrupt to generate periodic timer ticks
PendSV lowest PendSV (request for system-level service) when calling certain RTX functions from Handler mode
SCV lowest+1 Supervisor Call used to enter the RTOS kernel from Thread mode

but i still don't know how to face the problem.

any suggestion?

Thank you

  • Hello Davide991,

    I assume you are using STM32CubeMX to configure your system? You need to disable the IRQ Handlers for "System Service call via SWI instruction", "Pendable request for system service", and "Time base: System tick timer". These handlers are already defined in RTX and must not be used by the code generated from CubeMX:

    Kind regards,

    Christopher