2014-11-14 52 views
4

最近幾天,我一直在嘗試編譯一個STM32F4xx項目,其中包括Ubuntu 14.04LTS,Eclipse和Eclipse的GNU ARM插件。現在它說nano.specs缺失。 這是我生成日誌:GNU ARM - 未找到nano.specs

14:39:35 **** Incremental Build of configuration Release for project F4Test **** 
make all 
Building target: F4Test.elf 
Invoking: Cross ARM C++ Linker 
arm-none-eabi-g++ -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -Wall -Wextra -g -T mem.ld -T libs.ld -T sections.ld -nostartfiles -Xlinker --gc-sections -L"../ldscripts" -Wl,-Map,"F4Test.map" --specs=nano.specs -o "F4Test.elf" ./system/src/stm32f4-hal/stm32f4xx_hal.o ./system/src/stm32f4-hal/stm32f4xx_hal_cortex.o ./system/src/stm32f4-hal/stm32f4xx_hal_flash.o ./system/src/stm32f4-hal/stm32f4xx_hal_flash_ex.o ./system/src/stm32f4-hal/stm32f4xx_hal_flash_ramfunc.o ./system/src/stm32f4-hal/stm32f4xx_hal_gpio.o ./system/src/stm32f4-hal/stm32f4xx_hal_iwdg.o ./system/src/stm32f4-hal/stm32f4xx_hal_pcd_ex.o ./system/src/stm32f4-hal/stm32f4xx_hal_pwr.o ./system/src/stm32f4-hal/stm32f4xx_hal_pwr_ex.o ./system/src/stm32f4-hal/stm32f4xx_hal_rcc.o ./system/src/stm32f4-hal/stm32f4xx_hal_rcc_ex.o ./system/src/newlib/_cxx.o ./system/src/newlib/_exit.o ./system/src/newlib/_sbrk.o ./system/src/newlib/_startup.o ./system/src/newlib/_syscalls.o ./system/src/newlib/_write.o ./system/src/newlib/assert.o ./system/src/diag/Trace.o ./system/src/diag/trace_impl.o ./system/src/cortexm/_initialize_hardware.o ./system/src/cortexm/_reset_hardware.o ./system/src/cortexm/exception_handlers.o ./system/src/cmsis/system_stm32f4xx.o ./system/src/cmsis/vectors_stm32f4xx.o ./src/BlinkLed.o ./src/Timer.o ./src/_initialize_hardware.o ./src/main.o 
arm-none-eabi-g++: error: nano.specs: No such file or directory 
make: *** [F4Test.elf] Error 1 

14:39:35 Build Finished (took 65ms) 

,我發現我的電腦上一些nano.specs文件。我該怎麼辦?只要刪除鏈接標誌(我實際上不能這樣做,因爲我不知道如何在Eclipse中做到這一點)或其他東西? 感謝您的幫助!

回答

3

我解決了這個問題。我只是使用由Ubuntu提供的arm-none-eabi-xxx軟件包,而不是原始軟件包 - 這就是問題所在。您只需從toolchain's website下載軟件包並進行安裝即可。他們工作得很好!

+1

感謝您的回答。它對我有用 – 2016-04-01 06:25:31

+0

不客氣:) – Jacajack 2016-04-01 06:47:57

+0

太好了。有關如何安裝此工具鏈的任何建議?我是否需要卸載一些軟件包,然後將它解壓到某個地方?我也使用Eclipse作爲我的IDE。 – 2016-06-19 17:43:26

3

可選步

如果您已經從Ubuntu的倉庫安裝了捆綁的工具鏈 - 擺脫他們:

$ sudo apt-get remove gcc-arm-none-eabi 

安裝

推薦的方式這是在描述插件的頁面:

http://gnuarmeclipse.github.io/toolchain/install/

- >具體說明您的特定版本需要哪些軟件包(本例中爲14.04 LTS,x64)。

首先,安裝32位依賴庫:(?15.04 - 後來 - 只需要lib32ncurses5,而年長Ubuntus - 12.04 E.A. - 有ia32-libs

$ sudo apt-get -y install lib32z1 lib32ncurses5 lib32bz2-1.0 

然後從這裏下載一個預編譯工具鏈包:

https://launchpad.net/gcc-arm-embedded/+download

(他們推薦GCC 4.9在寫作的時候,但它應該是確定採取最新的,GCC 5.3版)。

推薦安裝位置

最後解壓包入/usr/local - 這樣的Eclipse插件應該找到它,而在Eclipse的喜好配置工具鏈或修改$PATH變量。

$ cd /usr/local 
$ sudo tar xf ~/Downloads/gcc-arm-none-eabi-*-linux.tar.bz2 
+0

非常好的答案!這正是我在面對問題後所做的。我可以看到你發現瞭如何安裝所有東西,但如果任何人有興趣,這是[視頻](https://www.youtube.com/watch?v=HKX12hJApZM),幫助我很多,當我設置一切 – Jacajack 2016-06-20 07:53:20

0

如果要編譯支持ARM的Cortex-M或Cortex-R,請嘗試使用安裝包gcc-arm-embedded易於得到,而不是gcc-arm-none-eabi。這對我很有用,而且這個建議來自Arm的「Yotta」構建工具的文檔:http://yottadocs.mbed.com/#linux-cross-compile