3. 使用West工作区

使用West工作区 学习卡片

任务目标

初始化一个West工作区,将Zephyr主仓库添加为west配置中的项目,并执行同步操作拉取代码。完成后,工作区应包含.west配置目录以及zephyr仓库,且west能够正确识别该工作区。

环境准备

本案例需要已安装west工具(通常随Zephyr SDK或pip安装)。若尚未安装,执行:

pip install west

实现步骤与代码

在空目录中执行以下命令序列,完成工作区初始化、仓库添加与同步。以下命令在Linux/macOS终端或Windows PowerShell中均可运行。

# 1. 创建并进入工作区目录
mkdir zephyr-workspace && cd zephyr-workspace

# 2. 初始化west工作区(生成 .west 目录)
west init

# 3. 将Zephyr主仓库添加到west配置(manifest.path 指向仓库位置)
west config manifest.path zephyr
west config manifest.url https://github.com/zephyrproject-rtos/zephyr.git

# 4. 同步项目(拉取manifest中定义的所有仓库,此处仅zephyr)
west update

若希望直接使用Zephyr官方manifest(包含更多模块),可将第2步替换为:

west init -m https://github.com/zephyrproject-rtos/zephyr.git --mr main

但本案例聚焦最小工作区,故采用手动配置方式。

验证方法

执行以下命令,观察输出以确认工作区状态:

# 检查west是否识别当前目录为工作区
west topdir

# 查看已配置的项目列表
west list

# 确认zephyr仓库已存在且包含代码
ls zephyr/

通过条件:

  • west topdir输出当前工作区路径(即zephyr-workspace目录);
  • west list显示至少一个名为zephyr的项目,且其revision为main或指定分支;
  • zephyr/目录非空,包含CMakeLists.txt、Kconfig等顶层文件。

常见问题

  • 同步失败(网络错误):检查网络连接,或使用west update -f强制重新获取;
  • west命令找不到:确认Python Scripts目录已加入PATH,或使用python -m west替代;
  • 已有.git目录冲突:确保工作区目录为空,或先删除隐藏的.west和.git目录后重试。
West工作区初始化流程 west init 生成 .west 配置目录 west config manifest.* 设置仓库路径与URL west update 拉取zephyr仓库代码 工作区最终结构 zephyr-workspace/ ├── .west/ │ └── config(含manifest.path与url) └── zephyr/ ├── CMakeLists.txt └── Kconfig 验证命令 west topdir west list