Hi, last week I had my project working perfectly in Keil 184.108.40.206 generated from STM32 Cube Mx 4.7, i'm using an STM32F103C8T6 for an univercity project. Per a professor request i had to add usb communication with a serial monitor, so i went and added the pins in cube mx and enabled the usb middleware as CDC (virtual com) , then generated the new code. BTW all my code is inside the "user code" sections in the generated main.c file (and i checked that nothing was deleted). Problem is that when de compiling the linker encounters "symbols multiply defined" and points at two files, example below:
blink basico\blink basico.axf: Error: L6200E: Symbol USB_ActivateEndpoint multiply defined (by stm32f1xx_ll_usb_1.o and stm32f1xx_ll_usb.o).
Files are stm32f1xx_ll_usb_1.o and stm32f1xx_ll_usb.o . The "_1" makes me think that it is creating a copy of the original file, however, even if I delete both files it creates them againg and gives the same error.
All this started happenig when I added the usb support in CUBEMX, the previous version of the project compiles without errors.
That's clearly a bug in CubeMX then. You'll have to ask there.
View all questions in Keil forum