- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When building a project I found that both the lwip and the FATFS implementations have conflicting symbols. Is there an easy way around this or am I going to have to meddle with the linker?
'Building target: ETHCAT_SSC_XMC48.elf'
./Dave/Generated/SYSTIMER/systimer.o: In function `SysTick_Handler':
'Invoking: ARM-GCC C Linker'
C:\Infineon\Tools\DAVE IDE\4.5.0.202105191637\eclipse\workspace\ETHCAT_SSC_XMC48\Debug/../Dave/Generated/SYSTIMER/systimer.c:319: multiple definition of `SysTick_Handler'
"C:/Infineon/Tools/DAVE IDE/4.5.0.202105191637/eclipse/ARM-GCC-49/bin/arm-none-eabi-gcc" -T"../linker_script.ld" -nostartfiles -Xlinker --gc-sections -specs=nosys.specs -Wl,-Map,"ETHCAT_SSC_XMC48.map" -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -mcpu=cortex-m4 -mthumb -g -gdwarf-2 -o "ETHCAT_SSC_XMC48.elf" "@objects.rsp" -lm
./Libraries/lwip/port/nosys/sys_arch.o:C:\Infineon\Tools\DAVE IDE\4.5.0.202105191637\eclipse\workspace\ETHCAT_SSC_XMC48\Debug/../Libraries/lwip/port/nosys/sys_arch.c:38: first defined here
makefile:82: recipe for target 'ETHCAT_SSC_XMC48.elf' failed
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't think you understood the question. The lwip code for the ETH DAVE APP and the systimer code for the FATFS DAVE APP both use this symbol. I know there are multiple definitions, that's what the error says. I'm asking how I reconcile this without having to mess around with the generated code.
It looks like I can mess with lwip easier though, so I'll do that.
EDIT: Confirmed that it was in the DAVE APP itself in the generated code. I added an extra _lwip to the function names and it worked out fine, but I imagine if I regenerate the code I'll have to do it again. It would be nice if this were fixed on the DAVE APP level.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @KirkMSutherland ,
It seems that you have multiple definitions of 'SysTick_Handler'. Take a look in your project to see where all 'SysTick_Handler' has been defined, and retain the definition in only one file.
To ensure none of the previous build files intervene with your current project, perform a clean operation once.
Regards,
Nikhil
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't think you understood the question. The lwip code for the ETH DAVE APP and the systimer code for the FATFS DAVE APP both use this symbol. I know there are multiple definitions, that's what the error says. I'm asking how I reconcile this without having to mess around with the generated code.
It looks like I can mess with lwip easier though, so I'll do that.
EDIT: Confirmed that it was in the DAVE APP itself in the generated code. I added an extra _lwip to the function names and it worked out fine, but I imagine if I regenerate the code I'll have to do it again. It would be nice if this were fixed on the DAVE APP level.