【问题标题】:How to setup eclipse to work with code sourcery toolchain for arm如何设置 eclipse 以使用 arm 的代码源工具链
【发布时间】:2014-08-10 18:30:29
【问题描述】:

我已经有一段时间没有在 linux 上使用 stm32f4 了。 自从我上次安装工具链以来,似乎发生了很多变化。

首先,在我安装了 GNU ARM Eclipse 插件之后,我意识到那里支持 C++。我对吗?他们是否在 C++ 的 stm32 外围库上创建了一些 HAL?

第二。我已经安装了代码 courcery lite 编译器。而且我在 Eclipse 项目设置中选择了正确的工具链。但它给了我这个错误。

arm-none-eabi-g++: error: nano.specs: No such file or directory

我可以看到在链接器脚本中有一个神秘的(对我来说)行

specs=nano.specs

所以我已经阅读了规范标志。似乎在这个规范中应该有一些用于编译器的常量标志或设置。但是为什么它们不在编译器想要它们的地方呢?他们应该从哪里来?

【问题讨论】:

    标签: c++ linux eclipse gcc


    【解决方案1】:

    我自己对 Gnu-Arm-Eclipse-Plugin 非常陌生,遇到了同样的问题。 我正在运行 Kubuntu1404 并安装了 gcc-arm-none-eabi 工具链。

    这是我发现的:

    默认情况下,GNU ARM Eclipse 插件链接到 newlib-nano,如果此库不存在于您的工具链中,您将收到此错误。

    这是通过链接器标志 --specs=nano.specs 完成的,您可以通过 Project->Properties->C/C++ Build->Settings->Tool Settings->Cross ARM C++ Linker(Miscellaneous) 进行更改。

    *.specs 文件向链接器添加附加指令, nano.specs 也是如此。 它应该位于 $TOOLCHAINPATH/arm-none-eabi/lib/

    据我所知,newlib-nano 等 nano.specs 文件已从最近的 gcc 工具链中删除。至少它不在 gcc-arm 4.8.3 的 *buntu 版本中。

    关于启动板的讨论正在进行中,以将其再次包含在未来的构建中。

    对我来说,一个解决方法是使用另一个工具链,例如 gcc-arm-none-eabi-4.7.3。

    编辑:您可以从 http://launchpad.net/gcc-arm-embedded/+download 下载 tarball,但如果您运行 64 位操作系统,则需要一些 32 位库。

    在 *buntu a sudo apt get install lib32z1 lib32ncurses5 lib32bz2-1.0 会做好的。

    【讨论】:

    • 是的,感谢您的回答。我已经想通了,刚刚从链接器标志中删除了 --specs=nano...。
    • 感谢您的回答!我正在使用 Xubuntu 14.04 64 位,您评论的最后一行帮助了我!
    猜你喜欢
    • 2013-12-17
    • 1970-01-01
    • 2023-03-23
    • 2022-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-01
    • 2019-11-10
    相关资源
    最近更新 更多