GNU ARM - 未找到 nano.specs

问题描述 投票:0回答:4

最近几天,我一直在尝试使用 Ubuntu 14.04LTS、Eclipse 和适用于 Eclipse 的 GNU ARM 插件编译 STM32F4xx 项目。现在它说

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 中做到这一点)或其他什么? 感谢您的帮助!

linux eclipse stm32 gnu-arm
4个回答
8
投票

我解决了这个问题。我只是使用 Ubuntu 提供的

arm-none-eabi-xxx
软件包,而不是原始软件包 - 这就是问题所在。您所需要做的只是从toolchain的网站下载软件包并安装它们。它们工作得很好!


5
投票

可选步骤

如果您已从 Ubuntu 存储库安装了捆绑的工具链 - 删除它们:

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

推荐安装方式

插件页面对此进行了描述:

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

-> 准确描述您的特定版本需要哪些软件包(在本例中为 14.04 LTS,x64)。

首先安装32位依赖库:

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

(15.04 - 及更高版本? - 只需要

lib32ncurses5
,而较旧的 Ubuntu - 12.04 e.a. - 有
ia32-libs
)。

然后从这里下载预编译的工具链包:

https://launchpad.net/gcc-arm-embedded/+下载

(在撰写本文时他们建议使用 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
投票

如果您正在针对 ARM Cortex-M 或 Cortex-R 进行编译,请尝试使用 apt-get 安装软件包

gcc-arm-embedded
,而不是
gcc-arm-none-eabi
。这对我有用,建议来自 Arm 的“Yotta”构建工具的文档:http://yottadocs.mbed.com/#linux-cross-compile


0
投票

我遇到了同样的问题。
但是...发生在我的 MS-Windows 操作系统上。
我没有 apt-get` 可以使用。
我现在应该做什么?

arm-none-eabi-gcc.exe: error: nano.specs: No such file or directory
lto-wrapper.exe: fatal error: C:\NXP\S32DS3.4\S32DS\build_tools\gcc_v6.3\gcc-6.3-arm32-eabi\bin\arm-none-eabi-gcc.exe returned 1 exit status
compilation terminated.
© www.soinside.com 2019 - 2024. All rights reserved.