我们的系统上有两个不同的MCU。主要的一个运行控制整个系统的操作系统,次要的一个在裸机上运行一个小任务。
辅助设备没有闪存,因此当系统启动时,它会向主设备请求一个程序,主设备会从主设备的闪存中提供该程序。
这一切都很好,但我们有两个Yocto构建来构建每一个,我们必须将次要的软件作为构建的二进制blob提供给主要的Yocto版本。
有没有一种方法可以让一个Yocto项目同时构建两个项目,而不必手动运行一个构建,然后再运行另一个?
您需要的是一个类似CI/CD platform
的Gitlab,它包含MCU的项目。在每次提交时(或根据您的构建策略(,都会构建项目,并将二进制文件推送到web服务器,然后Yocto可以有一个基于git的版本配方,可以下载生成的二进制文件。
或者,您的CI也可以管理Yocto项目,并启动由MCU固件项目触发的构建。
在嵌入式系统中,直接使用二进制而不是源代码是很常见的,例如Linux内核可以为协处理器嵌入二进制blob,但这显然不是Yocto处理多种体系结构类型之间依赖关系的工作。