【问题标题】:Where can I find the real arm-none-linux-gnueabi?我在哪里可以找到真正的 arm-none-linux-gnueabi?
【发布时间】:2014-04-10 21:24:31
【问题描述】:

在我安装 arm-none-linux-gnueabi-gcc 编译器集合并为 IGEP 板编译嵌入式应用程序之前的一段时间。我有许多具有双重构建配置的 Eclipse 项目(一个用于基于 UBUNTU 的桌面,另一个用于基于 ARM 的 IGEPv2 板)。

现在,我格式化了我的驱动器(我使用的是 Ubuntu 12.04),我拯救了我的项目,我看到了什么? “arm-none-linux-gnueabi-gcc”不可用?我无法在任何地方下载它。相反,所有链接都通过“Mentor Graphics”转到另一个下载,名为“arm-none-eabi-gcc”。我不知道两者之间的区别。我设置了这个包并更正了我的所有 .../CodeSourcery/... 类型的路径到 /MentorGraphics/...,但是当我编译时出现以下错误:

/home/fercis/MentorGraphics/Sourcery_CodeBench_Lite_for_ARM_EABI/arm-none-eabi/include/termios.h:4:25: 致命错误:sys/termios.h:没有这样的文件或目录

然后我查看了“/home/fercis/MentorGraphics/Sourcery_CodeBench_Lite_for_ARM_EABI/arm-none-eabi/include”下arm编译器集合的包含文件,我看到的是.../include下的termios.h目录,其中仅包含 .../include/sys/termios.h

#ifdef __cplusplus
extern "C" {
#endif
#include <sys/termios.h>
#ifdef __cplusplus
}
#endif

而且,没有“/sys/termios.h”。一定是大错特错!请帮忙?

【问题讨论】:

  • Here is one setarm-none-linux-gnueabi-gcc 这个名字本身没有任何意义。这只是一个名字;您需要 IGEP 的交叉编译器。是硬浮动、armv5、armv6 还是 armv7?除了编译器,你还需要安装其他包;就像板上任何版本的标准库和 IGEPv2 Linux 头文件一样。 arm-non-eabi-gcc 通常是一个裸机编译器。您正在查看指导网站的错误部分,如果那是您获得编译器的地方。
  • 没有“真正的”arm-none-linux-gnueabi。你可以在很多地方下载它。 none-linux... 可以交叉编译将作为 linux 应用程序运行的二进制文件,例如 none-eabi 更适用于裸机,这取决于您的操作方式,尽管您可以使用任何一种裸机。如果您对 termios.h 感兴趣,您可能想要 linux 的。两者都可以从同一网页上的导师图形中获得,您只需选择正确的图形,他们就会向您发送下载链接。

标签: c++ linux gcc arm cross-compiling


【解决方案1】:

您可以按照以下步骤为 IGEPv2 构建自己的工具链:

安装依赖:

$ sudo apt-get install diffstat
$ sudo apt-get install texi2html
$ sudo apt-get install texinfo
$ sudo apt-get install gawk
$ sudo apt-get install chrpath
$ sudo apt-get install gnupg
$ sudo apt-get install libcurl3
$ sudo apt-get install libcurl3-gnutls
$ sudo apt-get install python-pycurl

克隆 IGEPv2 存储库:

$ git clone -b denzil git://git.isee.biz/pub/scm/poky.git

下载 isee 层:

$ cd poky
$ git clone -b denzil git://git.isee.biz/pub/scm/meta-isee.git

设置 bitbake 环境:

$ source oe-init-build-env

在 conf/bblayers.conf 文件中添加 isee 层:

BBLAYERS ?= " \
  /path/to/poky/meta \
  /path/to/poky/meta-yocto \
  /path/to/poky/meta-isee \
"

在 conf/local.conf 文件中更改 MACHINE:

机器 ??= "igep00x0"

此命令生成工具链:

$ bitbake meta-toolchain-sdk

这是喝杯咖啡的好时机……

在流程结束时,SDK 将在此处可用:

build/tmp/deploy/sdk/igep-sdk-yocto-toolchain-1.2.1-2.tar.bz2

在您的主机上安装 SDK:

$ tar xvfz igep-sdk-yocto-toolchain-1.2.1-2.tar.bz2 -C /

尽情享受吧! :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 2016-12-21
    • 2020-11-11
    • 1970-01-01
    相关资源
    最近更新 更多