在 Yocto 中使用 armhf 作为辅助工具链

Posted

技术标签:

【中文标题】在 Yocto 中使用 armhf 作为辅助工具链【英文标题】:Using armhf as a secondary toolchain in Yocto 【发布时间】:2016-08-23 16:51:46 【问题描述】:

我目前正在开发使用 aarch64 以 64 位模式启动的板,并且我有一个 32 位模式的 u-boot,我将使用 arm-linux-gnueabihf。

我环顾四周,但除了通过以下方式使用辅助工具链之外别无他法: open-embedded tutorial to use a secondary toolchain

然而,不可能让它工作。英特尔做了一个层(meta-tc-icc),但它很旧,我也没能让它工作。

知道如何配置它吗?

【问题讨论】:

【参考方案1】:

所以有几种方法可以解决这个问题。

您的问题的一般答案是,您需要为此特定设置有两个 machine.conf 文件,使用 32 位机器构建 32 位 U-Boot,使用 64 位配置构建其他所有内容,并在任何运行的控件之上bitbake 确保在将输出传递给任何需要它们的人之前构建这两种机器类型。

一个更老套的方法是说您使用系统范围的工具链(您可以让 OE 通过元工具链生成并安装它),然后在您的自定义 U-Boot 配方中,覆盖 EXTRA_OEMAKE 是您强制它改为使用您的工具链。

第三种方法,我意识到不太可能,但作为 U-Boot 托管人,我觉得我应该提出,将平台迁移到 64 位 U-Boot(或告诉供应商他们应该这样做),我们有很多今天的 armv8 平台以及许多采用 32 位支持并添加到 64 位的供应商示例。

【讨论】:

以上是关于在 Yocto 中使用 armhf 作为辅助工具链的主要内容,如果未能解决你的问题,请参考以下文章

如何在 yocto 中使用外部工具链

带有 cmake 工具链文件的 Yocto SDK

Yocto 正式发布 4.0 版本

无法使用 Yocto 生成适用于 Windows 的 SDK

在 armhf 中没有实现 __fpclassify

Yocto tips (20): Yocto中qemu模拟器的使用,以zynq Cortex-A9为例