006、Zephyr RTOS源码获取与版本管理
Zephyr RTOS 源码获取与版本管理昨晚调试一块STM32H743的板子,CAN总线死活不通,折腾到凌晨两点。最后发现是Zephyr SDK版本和源码分支不匹配,CAN驱动里一个结构体偏移量差了4个字节。这种坑,踩过一次就记住了——源码获取和版本管理,看似基础,实则决定你后面所有工作的生死。别用git clone --depth=1很多新手图快,上来就git clone --depth=1 zephyr.git。省那几分钟下载时间,后面哭都来不及。Zephyr的构建系统依赖完整的git历史来做版本号生成和补丁管理。你浅克隆一个,west build的时候报错说找不到某个commit,那时候再补全历史,比重新克隆还慢。正确姿势:完整克隆,但可以加--recursive参数一次性拉子模块。Zephyr的west工具本身就是一个元构建系统,它管理着zephyr、modules、tools等多个仓库的版本关系。直接git clone只能拿到zephyr主仓库,其他依赖还得手动搞。west init才是正路Zephyr官方推荐的west工作流,我一开始也觉得多余。直到有一次项目需要同时维护三个不同版本的Zephyr,west的manifest机制才显出价值。west init -m https://github.com/zephyrproject-rtos/zephyr --mr