所有嵌入式开发人员的好消息!

我们已正式发布与Yocto 项目的集成,并在我们的文档中新增了一个章节。

Yocto 项目是一个开源协作项目,它帮助开发人员创建自定义的基于 Linux 的系统,无论硬件架构如何。Yocto 包含一组工具和库,这些工具和库按层(目录)和配方组织,用于创建最终的 Linux 发行版,而无需在主机上进行任何其他要求。

Conan and Yocto logos.

这种分层和配方系统提供了一种可扩展的机制,可以将新的软件组件集成到最终的 Linux 映像中。用户可以创建自己的层,将软件部署到映像中。

Yocto 项目旨在用于嵌入式开发,因为它提供了在引导加载程序、内核和文件系统级别进行自定义的功能。Yocto 还可以生成具有特定工具链的 SDK,用于目标设备,以便交叉编译用于使用的硬件。

此外,创建支持不同硬件的映像就像更改板支持包层一样简单。这类层的作用是对硬件进行抽象,这意味着只需更改此层,我们就可以将相同的软件交付到适合不同设备的映像中。其中一些层由开源社区贡献,甚至由硬件制造商正式提供。

所有这些抽象和自定义在处理不同硬件时非常方便,但它也带来了一些缺点,例如工具集受限、开发配置困难以及构建时间长。

在您的 Yocto 构建中使用 Conan 包

使用 Conan,您可以为不同的平台创建包。这允许开发人员在不同的系统(以下示例中为 Windows)上工作,并使用他们通常的工具集进行调试和测试。

使用 Yocto SDK 工具链,可以像任何其他常规包一样交叉编译和创建包,提供相同的开发体验。此步骤可以在 CI 服务器中轻松自动化,以创建 Yocto 支持的任何嵌入式设备的包,然后上传到 Artifactory 存储库。

Creating Conan packages with Yocto for embedded development.
使用 Yocto 为嵌入式开发创建 Conan 包。

此外,这些交叉构建的包(上图中的 ARM v8)可以部署到最终映像中,而无需在 Yocto 构建中重新构建它们。只需从 Artifactory 存储库安装它们!

我们创建了一个meta-conan 层,它将 Conan 客户端集成到 Yocto 中,并使包的部署成为指示 Conan 引用和 Artifactory 存储库详细信息的问题。

您可以在我们文档的 Yocto 部分中查看有关此集成的所有信息。

希望您觉得有用!