
15 分钟无硬件跑通 Zephyr RTOS用最小内核示例完成首次实战【免费下载链接】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这是一篇 Zephyr RTOS 入门实战指南核心路线是零硬件依赖用 QEMU 虚拟板qemu_x86_64把仓库里现成的最小内核示例samples/basic/minimal/编译、度量 ROM 体积、跑起来最后再切到你手里的真实开发板。全文命令均以本仓库 官方入门文档 的实际写法为准你跟着敲就能复现。第 0 步先看跑起来长什么样目标画面终端里出现一行Hello World from minimal!。先说清为什么选 minimal 而不是最常见的点灯示例这个示例的 main.c 基本是空的它的存在意义是让你亲眼看到——Zephyr 内核开到一个可运行状态到底占多少空间ROM 指烧进芯片的只读程序区。这是 Zephyr内核可裁剪到几 KB这一卖点最直接的验证。一条命令装好开发环境Zephyr 构建依赖 CMake、Python 和 dtc设备树编译器负责把描述硬件的 .dts 文件转成编译器能懂的格式。Ubuntu 下官方给的就是一条 apt 命令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装完核对三项版本是否达标CMake ≥ 3.28.0、Python ≥ 3.12、dtc ≥ 1.4.6版本表见 doc/develop/getting_started/index.rstcmake --version python3 --version dtc --versionmacOS、Windows 的依赖安装方式不同分别看 installation_mac.rst 和 installation_win.rst。west 三步建好源码工作区west 是 Zephyr 自带的仓库管理器管着 Zephyr 源码和它的依赖模块。三步west init -m https://gitcode.com/GitHub_Trending/ze/zephyr ~/zephyrproject cd ~/zephyrproject west update west zephyr-export west packages pip --installwest init建工作区并指向 Zephyr 仓库west update按 west.yml 清单拉齐所有模块zephyr-export把环境变量写进当前 shell之后west build/flash才能找到构建系统。装 Zephyr SDK 交叉编译器没有现成工具链时让 west 直接替你装 Zephyr SDK一套针对嵌入式目标的编译器和 binutilscd ~/zephyrproject/zephyr west sdk install装完后 west 会自动把 SDK 指向你的构建流程不需要手动改 PATH。构建最小内核示例一条命令 一次度量选 samples/basic/minimal/目标板选qemu_x86_64QEMU 是开源硬件模拟器west build -t run时它会替你扮演一块 x86_64 主板cd ~/zephyrproject/zephyr west build -p -b qemu_x86_64 samples/basic/minimal-p表示从头构建首次构建建议必加-b指定板级名写错会直接报 unknown board。构建成功后跑 ROM 度量目标看这份固件到底多大west build -t rom_report示例文档 给出的参考值多线程开启约 7-8 KB再关掉抢占和定时器能压到 3-4 KB。如果你测出来是几十 KB多半是配置没选对对照该 README 里的common.conf/no-timers.conf等配置文件组合调整即可。在 QEMU 里真正跑起来west build -t run这条命令会启动 QEMU 并加载刚才构建的镜像。minimal 示例默认不打印任何东西这是它的刻意设计想在终端里看到那句 Hello World先给配置加一行开关再重新构建echo CONFIG_SAMPLE_DO_OUTPUTy build/prj.conf west build west build -t runCONFIG_SAMPLE_DO_OUTPUT是 minimal 的 Kconfig 里定义的选项开启后 main.c 里的printk(Hello World from minimal!\n)才会执行。看到这行字恭喜环境、工具链、构建系统、目标板四层链路全部打通了。换上真实开发板只改两个参数虚拟板验证完成后接入实物只需换-b的板级名和示例目录。用west boards查看仓库支持的完整板级列表当前收录数百块板覆盖 boards/ 下各厂商目录west build -p -b adafruit_feather_esp32 samples/basic/blinky west flashwest flash会按板级 board.yml 里的烧录配置自动选择工具并写入固件。你手上的板不在上例里用west boards | grep 厂商或芯片关键字找到对应板名替换即可构建流程不变。命令速查与三个高频报错目的命令构建应用west build -p -b board app-dirQEMU 中运行west build -t run度量 ROM 体积west build -t rom_report烧录真实板卡west flash图形化配置内核选项west build -t menuconfig三个新手最容易卡住的点west: command not found—— 只执行过west update没执行west zephyr-export或者换了新终端重新 source 一次即可。构建报找不到 QEMU —— 它不随 SDK 安装Ubuntu 下sudo apt install qemu-system-x86补上。unknown board—— 板级名拼错或该板需要额外依赖west boards里核对准确名称。接下来练什么仓库自带大量示例按需求挑着跟samples/basic/minimal/改 conf 文件组合自己验证 ROM 体积下限samples/basic/threads/最小多线程 demo理解 Zephyr 线程与互斥锁samples/basic/button/用事件回调替代主循环轮询samples/basic/rgb_led/、samples/basic/fade_led/PWM 渐变灯效想深入构建与配置体系继续读 doc/develop/ 下的开发文档即可。【免费下载链接】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),仅供参考