1.6k 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

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

...