2.0k views
in Platform Packages by
Hello,

i want to run the RTOS on the STM32F469 in the example code I need to define EW_USE_FREE_RTOS = 1 that the RTOS function will be used but I get some errors.

I include the RTOS in the CMSIS package then i need to remove the startp_stm32f469xxx.s because ther are multibly defined.

After that I get Errors like that:

STM32469I-DISCOVERY\STM32469I-DISCOVERY.axf: Error: L6200E: Symbol SystemCoreClock multiply defined (by system_stm32f4xx_1.o and system_stm32f4xx.o).
STM32469I-DISCOVERY\STM32469I-DISCOVERY.axf: Error: L6200E: Symbol AHBPrescTable multiply defined (by system_stm32f4xx_1.o and system_stm32f4xx.o).
STM32469I-DISCOVERY\STM32469I-DISCOVERY.axf: Error: L6200E: Symbol APBPrescTable multiply defined (by system_stm32f4xx_1.o and system_stm32f4xx.o).
STM32469I-DISCOVERY\STM32469I-DISCOVERY.axf: Error: L6200E: Symbol PendSV_Handler multiply defined (by hal_cm4.o and stm32f4xx_it.o).
STM32469I-DISCOVERY\STM32469I-DISCOVERY.axf: Error: L6200E: Symbol SVC_Handler multiply defined (by hal_cm4.o and stm32f4xx_it.o).
STM32469I-DISCOVERY\STM32469I-DISCOVERY.axf: Error: L6200E: Symbol SysTick_Handler multiply defined (by hal_cm4.o and stm32f4xx_it.o).
STM32469I-DISCOVERY\STM32469I-DISCOVERY.axf: Error: L6200E: Symbol __asm___18_system_stm32f4xx_c_5d646a67____REV16 multiply defined (by system_stm32f4xx_1.o and system_stm32f4xx.o).
STM32469I-DISCOVERY\STM32469I-DISCOVERY.axf: Error: L6200E: Symbol __asm___18_system_stm32f4xx_c_5d646a67____REVSH multiply defined (by system_stm32f4xx_1.o and system_stm32f4xx.o).
STM32469I-DISCOVERY\STM32469I-DISCOVERY.axf: Error: L6200E: Symbol __asm___18_system_stm32f4xx_c_5d646a67____RRX multiply defined (by system_stm32f4xx_1.o and system_stm32f4xx.o).
STM32469I-DISCOVERY\STM32469I-DISCOVERY.axf: Error: L6200E: Symbol SystemCoreClockUpdate multiply defined (by system_stm32f4xx_1.o and system_stm32f4xx.o).
STM32469I-DISCOVERY\STM32469I-DISCOVERY.axf: Error: L6200E: Symbol SystemInit multiply defined (by system_stm32f4xx_1.o and system_stm32f4xx.o).
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 0 warning and 11 error messages.
"STM32469I-DISCOVERY\STM32469I-DISCOVERY.axf" - 11 Error(s), 2 Warning(s).
Target not created.
Build Time Elapsed:  00:00:47

 

Have I done something wrong?

 

Best Regards,

1 Answer

0 votes
by
 
Best answer
Hello,

in our current STM32F469_Discovery build environment FreeRTOS is only supported with gnu make.
I asume, that you are using Keil µVision.

To add FreeRTOS support to the µVision template project,
following steps have to be done:
* define EW_USE_FREE_RTOS = 1 (as you already done)
* add the FreeRTOS source files below folder:
   'STM32Cube_FW_F4\Middlewares\Third_Party\FreeRTOS\Source'
   (list.c, queue.c, tasks.c, timers.c, cmsis_os.c, heap_4.c,
    and 'port.c' from sub folder \portable\RVDS\ARM_CM4F)
* add the FreeRTOS include pathes below 'STM32Cube_FW_F4\Middlewares\Third_Party\FreeRTOS\Source':
   /portable/RVDS/ARM_CM4F
   /CMSIS_RTOS
   /include

Best Regards,
Martin

Ask Embedded Wizard - Archive

Welcome to the Ask Embedded Wizard archive. This community forum served us well for many years, but we've evolved our support approach!

Your resources:

The Embedded Wizard Online Documentation provides comprehensive documentation, tutorials, examples and ready-to-use software packages.

For dedicated assistance, explore our Embedded Wizard Product Support.

You can still browse the valuable discussions from our community history here.

Embedded Wizard Website | Privacy Policy | Imprint

...