Zephyr RTOS 开发环境搭建(Linux)——从一次“编译不过”的深夜说起凌晨两点,我盯着终端里那行“undefined reference to__device_dts_ord_...”的报错,咖啡已经凉透了。这是我在一块STM32H743板子上移植Zephyr时遇到的第一个硬骨头——明明照着官方文档一步步来,为什么链接器就是找不到设备树生成的符号?后来我才明白,Zephyr的开发环境搭建远不止“装个工具链、拉个代码”那么简单,它背后藏着一整套关于构建系统、设备树编译、Python虚拟环境管理的暗坑。今天这篇笔记,就把这些坑一个个填平。别急着装东西,先理解Zephyr的“三件套”Zephyr的开发环境由三个独立但耦合的部分组成:SDK(工具链+主机工具)、源码树、Python虚拟环境。这三者缺一不可,但很多人栽在“以为装好SDK就万事大吉”上。SDK不是简单的交叉编译器,它包含了针对不同架构的GCC、Newlib、OpenOCD、QEMU,甚至还有Zephyr自己魔改过的CMake模块。我建议直接下载官方预编译的SDK包,别自己从源码编译——除非你想体验一下午的编译等待和莫名其妙的依赖冲突。# 下载SDK(以0.16.8为例,版本号要跟源码匹配)