目前的位置: 首页 学术信息 正文

ZDS 2023技术报告分享第41篇:West工作流


前言

2023年Zephyr开发者大会(ZDS)于6月27日至30日在捷克布拉格隆重举行。与以往两次不同,本次ZDS由Zephyr项目规划和管理,并作为首届嵌入式开源峰会(EOSS)的一部分进行。在这个令人期待已久的盛会中,全球Zephyr开发者们共同探讨了Zephyr实时操作系统(RTOS)的最新技术与发展趋势。作为一款开源、灵活和可扩展的嵌入式实时操作系统,Zephyr项目在2014年由英特尔发起,2016年作为Linux基金会项目正式面向公众启动,得到了全球范围内的广泛关注和采用。


ZDS 2023共70余个技术报告,涵盖了使用指导与展示、新功能与技术、架构修改与操作系统、多核异构与虚拟化、模拟器、测试、工业流程与代码管理、安全性、应用案例、工具与调试等丰富多样的内容。湖大嵌入式实验室的小伙伴们将对本次大会的所有技术报告进行逐一收集、整理与分享,尽最大努力为Zephyr开发者提供ZDS 2023技术报告的开发经验、实践成果以及解决方案的参考。


今天分享第41篇技术报告,由毕方琦整理,题目为:

West工作流



作者简介

Al Semjonovs,Google软件工程师



文章简介

本文主要介绍了什么是West,以及如何使用West简化开发人员的工作流程,包括工作空间设置,依赖关系管理,Twister集成,管理PR依赖关系。



什么事West

West是Zephyr的便捷命令行工具,用于同步方便用户使用

  • 最常见的内置命令:init,update

  • 最常用的Zephyr项目扩展:build,flash,debug



精简和简化开发人员的工作流程

  • 工作空间设置

  • 依赖关系管理

  • Twister集成

  • 管理PR依赖关系



空间设置

目前存在的问题:设置基于Zephyr的项目需要多个步骤,参见Zephyr入门指南


预解决方案:

使用子命令:west setup

使用单个命令设置开发人员环境:

  • 创建python虚拟环境

  • 安装Zephyr的python依赖项

  • 下载并安装最新的Zephyr SDK

  • 允许此命令在特定于项目的设置中被重写



工具链依赖管理器

目前存在的问题:west安装工具无法实现实时更新


预解决方案:

  • 覆盖west更新来处理工具链和代码

  • 在west清单中存储工具和依赖项的当前版本

  • 安装所需的更改

  • 类似于当前git存储库的处理



Twister集成

目前存在的问题:由于不同版本的twister,从另一个项目调用twister可能导致不准确的测试结果

预解决方案:

使用子命令:

  • west twister

  • 避免绕口令版本与当前正在进行的项目不匹配

  • 利用west对当前工程进行路径识别



管理PR依赖关系

目前存在的问题:处理相互依赖的多个分支可能很难管理

例上图中如果C应该从现有的PR分离,开发人员必须创建一个分支


这样有两个问题:

  • 如果没有A和B捆绑在同一PR中,C就不能发布供审查

  • 在C上构建的每个新功能都需要一个新的分支



West的推出

目标:改善Zephyr上游工作流程和公关管理


方案:

  • 所有更改都存在于单个本地分支中

  • 更改在提交消息中按关键字匹配分组

  • 匹配的捕获组被分组在一起,精心挑选到一个新的分支,并作为一个新的PR提交(如果已经存在,则更新)


上一条:ZDS 2023技术报告分享第42篇:教程:Zephyr消息总线(ZBus)——轻量级和灵活的消息传递系统 下一条:开放申请:欢迎加入湖南大学openEuler技术小组

关闭

嵌入式与网络计算湖南省重点实验室
版权所有 © 2023 湖南大学