ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

从零跑通 west:Zephyr 项目构建完整指南

从零跑通 west:Zephyr 项目构建完整指南 从零跑通 westZephyr 项目构建完整指南【免费下载链接】zephyrPrimary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.项目地址: https://gitcode.com/GitHub_Trending/ze/zephyr敲下west build再敲下west flash程序就在板子上跑起来了——这就是 Zephyr RTOS 把 west 定为官方构建工具的原因它把 Zephyr 多仓库管理、构建编译、固件烧录收进了一条命令行。这篇教程面向新手从安装 west 一路讲到故障排查可以照着敲完。west 是什么一张表看懂 6 条核心命令west 基于 Python提供统一的命令行接口。Zephyr 源码分散在多个 Git 仓库里west 帮你决定克隆哪些仓库、同步到哪个版本并在背后完成 CMake 与 Ninja 的构建流程。命令作用何时用west init初始化工作区克隆 Zephyr 主仓库并生成配置第一次开始开发west update按 west.yml 同步全部或单个子仓库初始化后、编译前west list列出工作区内所有项目及其路径核对模块是否就位west build为目标开发板构建固件编译工程west flash把固件烧录到目标设备构建成功后west debug启动 GDB 连接目标设备调试程序west boards列出所有受支持的开发板选目标板之前west zephyr-export导出 CMake 包供外部工程引用头文件与库把 Zephyr 集成进自己的构建任意命令的帮助都可以用west help查看比如west help build。Zephyr west 安装三步快速上手 ⏱三步连做以 Ubuntu 为例。第 1 步装依赖。需要 Python 3.10 或更高版本、Git、CMake 3.20.5 或更高版本、设备树编译器 dtc 1.4.6 或更高版本sudo apt install --no-install-recommends git cmake ninja-build gperf \ ccache dfu-util device-tree-compiler wget python3-dev python3-venv python3-tk \ xz-utils file make gcc gcc-multilib g-multilib libsdl2-dev libmagic1第 2 步安装 west。放进虚拟环境避免依赖冲突python3 -m venv ~/zephyrproject/.venv source ~/zephyrproject/.venv/bin/activate pip install west第 3 步初始化项目。创建工作区、克隆主仓库再同步全部子仓库west init ~/zephyrproject cd ~/zephyrproject west update完成后目录里会有zephyr/内核源码、modules/第三方模块、tools/辅助工具、.west/west 配置几个目录。三大工作流从代码同步到烧录调试代码同步west init 建工作区west update 拉代码west init做两件事克隆 Zephyr 主仓库、创建必要配置文件。要固定到某个版本就加--mrwest init --mr v3.4.0 ~/zephyrprojectwest update读取 west.yml 中的仓库结构、远程地址与分支信息把模块更新到指定版本。只动一个模块时把名字跟在后面west update hal_stm32用west list验收每行一个项目格式是名称: 路径 (仓库地址)例如zephyr: zephyr cmsis: modules/hal/cmsis构建编译west build 用法west build是日常用得最多的命令基本形式是west build -b nrf52840dk_nrf52840 samples/basic/hello_world-b指定目标开发板第二个参数是应用源码目录产物默认落在build/。首次构建或切换配置时加-p always强制重新生成构建系统文件。想调配置项就用菜单式界面west build -b nrf52840dk_nrf52840 samples/basic/hello_world -t menuconfig想把产物放到别的目录用-dwest build -d build/nrf52840 -b nrf52840dk_nrf52840 samples/basic/hello_world。烧录与调试west flash 烧录west debug 调试 构建通过后一条命令烧录west flash板子有多个烧录接口时用--runner指定烧录工具如west flash --runner jlink。west debug会启动 GDB 调试器并连接目标设备可以单步执行、查看变量配合 IDE 的图形化调试界面断点和调用栈都能可视化操作。west 进阶技巧 用 west.yml 精确控制模块版本。west.yml 是版本中枢每个项目都能指定revision分支名、标签、提交哈希都行projects: - name: hal_stm32 revision: dc7c2543a079c57a4e7dbee54ed7877880dc235b path: modules/hal/stm32改完跑一次west update该模块就落到指定版本。给工作区设默认开发板。长期固定在一块板子上开发时设置一次之后west build就不用每次带-bwest config build.board nrf52840dk_nrf52840之后直接写west build samples/basic/hello_world即可。添加自定义 west 命令。在项目根目录创建.west/config文件[west] command-path scripts/west-commands再往scripts/west-commands目录里放你的命令脚本就能像内置命令一样调用。west 故障排查速查表现象可能原因处理命令west update 时提示缺少 Python 依赖依赖包未装齐west packages pip --install构建报错反复重试无效构建目录残留过期产物west build -c清理后重建或手动删除 build/ 目录重新构建子仓库同步失败被本地改动挡住工作区状态与 west.yml 不一致west update --reset强制重置丢弃本地修改找不到目标板名字怀疑不被支持需要核对板级支持列表west boards从这里开始动手建议先跑一次west build -p always -b nrf52840dk_nrf52840 samples/basic/hello_world把同步 → 构建 → 烧录完整走通一轮再用west config build.board把常用开发板设为默认。遇到卡点先查上面的速查表用west list核对模块状态想继续深入可以读 getting started 指南。【免费下载链接】zephyrPrimary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.项目地址: https://gitcode.com/GitHub_Trending/ze/zephyr创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表