GNU ARM - 未找到 nano.specs
Posted
技术标签:
【中文标题】GNU ARM - 未找到 nano.specs【英文标题】:GNU ARM - nano.specs not found 【发布时间】:2015-01-11 23:05:01 【问题描述】:最近几天我一直在尝试使用 Ubuntu 14.04LTS、Eclipse 和 GNU ARM Eclipse 插件编译一个 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 中做到这一点)或其他什么?
感谢您的帮助!
【问题讨论】:
【参考方案1】:如果您正在为 ARM Cortex-M 或 Cortex-R 进行编译,请尝试使用 apt-get 而不是 gcc-arm-none-eabi
安装包 gcc-arm-embedded
。这对我有用,建议来自 Arm 的“Yotta”构建工具的文档:http://yottadocs.mbed.com/#linux-cross-compile。
【讨论】:
【参考方案2】:可选步骤
如果您已经从 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/+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
【讨论】:
非常好的答案!这正是我遇到问题后所做的。我可以看到你找到了如何安装所有东西,但如果有人感兴趣,这是video,在我设置所有东西时帮助了我很多【参考方案3】:我解决了这个问题。我只是使用 Ubuntu 提供的 arm-none-eabi-xxx
软件包,而不是原始软件包——这就是问题所在。您需要做的只是从toolchain's website 下载软件包并安装它们。他们工作得很好!
【讨论】:
太棒了。有关如何安装此工具链的任何建议?我需要卸载一些软件包然后在某个地方解压吗?我也使用 Eclipse 作为我的 IDE。以上是关于GNU ARM - 未找到 nano.specs的主要内容,如果未能解决你的问题,请参考以下文章
将 newlib nano 与 arm-none-eabi gnu 工具链链接:未定义对 __libc_init_array 的引用