This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Multiply definition in a empty project

Hello, I'm new in this environment and I found a problem. I'm using uVision 5.33: I made a empty project, and in the management I inserted CMSIS Core, RTOS2 (API) Keil RTX5, STM32Cube HAL, STM32CubeMX. I didn't write nothing, I compiled the program without modification, and three errors appeared:

- Error: L6200E: Symbol SysTick_Handler multiply defined (by irq_cm0.o and stm32f0xx_it.o)

- Error: L6200E: Symbol PendSV_Handler multiply defined (by irq_cm0.o and stm32f0xx_it.o)

- Error: L6200E: Symbol SVC_Handler multiply defined (by irq_cm0.o and stm32f0xx_it.o)

Can someone help me?

Thanks

Parents
  • This really is a horrible abuse of the English language; ARM - a Cambridge company, no less - should be ashamed of it!

    When they say "multiply defined" they mean that there are multiple definitions of the symbols

    The error messages tell you where those multiple definitions are:

    irq_cm0.o and stm32f0xx_it.o

    irq_cm0.o is the object file produced by compiling irq_cm0.c;

    stm32f0xx_it.o is the object file produced by compiling stm32f0xx_it.c.

    So you need to look at those two source files and decide which is the definition to keep, and which it the one to remove.

    EDIT

    Note that this is general C stuff - not specific to Keil or ARM.

Reply
  • This really is a horrible abuse of the English language; ARM - a Cambridge company, no less - should be ashamed of it!

    When they say "multiply defined" they mean that there are multiple definitions of the symbols

    The error messages tell you where those multiple definitions are:

    irq_cm0.o and stm32f0xx_it.o

    irq_cm0.o is the object file produced by compiling irq_cm0.c;

    stm32f0xx_it.o is the object file produced by compiling stm32f0xx_it.c.

    So you need to look at those two source files and decide which is the definition to keep, and which it the one to remove.

    EDIT

    Note that this is general C stuff - not specific to Keil or ARM.

Children