c - Problems with arm-none-eabi linker in Eclipse using GNU MCU Eclipse Plugin -


i having problem project i'm trying set new stm32f7 nucleo board. freshly installed gnu arm embedded toolchain, stm32cubef7 , gnu mcu eclipse plugin, set new project on windows 7 machine @ work. have done @ home on ubuntu laptop without issues. after set project, added hal , cmsis libraries , used template project stm32cubef7. far compilation works fine, when linking following error:

c:/program files (x86)/gnu tools arm embedded/5.4 2016q2/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld.exe: cannot find -lc_p-lc_p 

to understanding issue here library strange name can not found. unfortunately page found same error described in russian, don't speak @ all.

at first glance, me looks generated makefile corrupted, , library called c_p trying linked, done twice without space in between. issue eclipse or eclipse gnu mcu plugin.

things tried rid of error:

  • update eclipse
  • downgrade several old versions of gnu arm embedded toolchain
  • turn off/on following linker options:
    • --specs=nano.specs
    • -nodefaultlibs
    • -nostdlib
  • install toolchain in folder without spaces

here's automatically generated makefile:

################################################################################ # automatically-generated file. not edit! ################################################################################  -include ../makefile.init  rm := rm -rf  # of sources participating in build defined here -include sources.mk -include system/src/subdir.mk -include system/hal/src/subdir.mk -include system/subdir.mk -include src/subdir.mk -include subdir.mk -include objects.mk  ifneq ($(makecmdgoals),clean) ifneq ($(strip $(cc_deps)),) -include $(cc_deps) endif ifneq ($(strip $(c++_deps)),) -include $(c++_deps) endif ifneq ($(strip $(c_upper_deps)),) -include $(c_upper_deps) endif ifneq ($(strip $(cxx_deps)),) -include $(cxx_deps) endif ifneq ($(strip $(asm_deps)),) -include $(asm_deps) endif ifneq ($(strip $(s_upper_deps)),) -include $(s_upper_deps) endif ifneq ($(strip $(c_deps)),) -include $(c_deps) endif ifneq ($(strip $(cpp_deps)),) -include $(cpp_deps) endif endif  -include ../makefile.defs  # add inputs , outputs these tool invocations build variables  secondary_flash += \ stm32template.hex \  secondary_size += \ stm32template.siz \   # target all: stm32template.elf secondary-outputs  # tool invocations stm32template.elf: $(objs) $(user_objs)     @echo 'building target: $@'     @echo 'invoking: gnu arm cross c++ linker'     arm-none-eabi-g++ -mcpu=cortex-m7 -mthumb -mfloat-abi=soft -o0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -wall -wextra  -g3 -p -pg -t mem.ld -t libs.ld -t sections.ld -nostartfiles -l"../ldscripts" -wl,-map,"stm32template.map" --specs=nano.specs -o "stm32template.elf" $(objs) $(user_objs) $(libs)     @echo 'finished building target: $@'     @echo ' '  stm32template.hex: stm32template.elf     @echo 'invoking: gnu arm cross create flash image'     arm-none-eabi-objcopy -o ihex "stm32template.elf"  "stm32template.hex"     @echo 'finished building: $@'     @echo ' '  stm32template.siz: stm32template.elf     @echo 'invoking: gnu arm cross print size'     arm-none-eabi-size --format=berkeley "stm32template.elf"     @echo 'finished building: $@'     @echo ' '  # other targets clean:     -$(rm) $(cc_deps)$(c++_deps)$(objs)$(c_upper_deps)$(cxx_deps)$(secondary_flash)$(secondary_size)$(asm_deps)$(s_upper_deps)$(c_deps)$(cpp_deps) stm32template.elf     -@echo ' '  secondary-outputs: $(secondary_flash) $(secondary_size)  .phony: clean dependents  -include ../makefile.targets 

does have inputs me?

edit: gnu mcu eclipse plugin provides template new projects, same error.

you make 1 important mistake. try use diy eclipse configuration import projects created particular environment.

install openstm32. generate project using sw4stm32 toolchain setting.

import project. compile, link , debug

if find installed toolchain obsolete, able replace it.


Comments

Popular posts from this blog

php - Vagrant up error - Uncaught Reflection Exception: Class DOMDocument does not exist -

vue.js - Create hooks for automated testing -

Add new key value to json node in java -