我有一個項目,我試圖建立我的新STM32F7核蛋白板出現問題在Eclipse臂無 - EABI鏈接。我新安裝了GNU ARM Embedded toolchain,STM32CubeF7和GNU MCU Eclipse Plugin,我用它在我的Windows 7機器上設置了一個新的項目。我以前在我的Ubuntu筆記本電腦上做過這些,沒有問題。 設置完項目後,我添加了HAL和CMSIS庫,並使用了STM32CubeF7的模板項目。到目前爲止,彙編工作正常,但連接時,我得到以下錯誤:問題使用GNU MCU Eclipse插件
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
據我瞭解這裏的問題是,一些庫一個很奇怪的名字不能被發現。不幸的是,唯一的page that I found where the same error is described是在俄羅斯,我根本不說話。
乍一看,對我來說,它看起來像生成的makefile文件已損壞,和被稱爲C_P庫正試圖鏈接,但兩者之間沒有空間做兩次。所以這可能是Eclipse或Eclipse GNU MCU插件的問題。
事情,我試圖擺脫錯誤的:
- 更新的Eclipse
- 降級到幾個老版本的GNU ARM的嵌入式工具鏈的
- 關閉/打開以下鏈接器選項:
--specs=nano.specs
-nodefaultlibs
-nostdlib
- 安裝文件夾中的工具鏈沒有任何空格
下面是自動生成的Makefile:
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
-include ../makefile.init
RM := rm -rf
# All of the sources participating in the build are 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 and outputs from these tool invocations to the build variables
SECONDARY_FLASH += \
stm32Template.hex \
SECONDARY_SIZE += \
stm32Template.siz \
# All Target
all: stm32Template.elf secondary-outputs
# Tool invocations
stm32Template.elf: $(OBJS) $(USER_OBJS)
@echo 'Building target: [email protected]'
@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: [email protected]'
@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: [email protected]'
@echo ' '
stm32Template.siz: stm32Template.elf
@echo 'Invoking: GNU ARM Cross Print Size'
arm-none-eabi-size --format=berkeley "stm32Template.elf"
@echo 'Finished building: [email protected]'
@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
[email protected] ' '
secondary-outputs: $(SECONDARY_FLASH) $(SECONDARY_SIZE)
.PHONY: all clean dependents
-include ../makefile.targets
沒有任何人有任何這方面的投入給我嗎?
編輯: GNU MCU Eclipse插件爲新項目提供了一個模板,即使這樣我也會得到相同的錯誤。
我沒有導入任何設置,我只是複製源文件,以便我可以自己設置和配置項目。我在家裏做了這個,並且在另一個項目上工作 - 但在Linux上。問題是我想繼續使用Eclipse,就像我一直在做的那麼多年。我想知道爲什麼會發生這種情況,以便我知道問題出在哪裏,無論是工具鏈還是IDE。 –
好的。不好意思,朋友。 –
不用擔心,謝謝你試圖幫助:)我剛剛更新了我的問題,當我創建一個乾淨的新項目並嘗試編譯它時發生同樣的錯誤。該項目來自GNU MCU Eclipse插件提供的模板,所以它不能因爲我將文件複製到項目中。我擔心它與工具鏈有關...... –