跳到主要内容

03 · 第一个 Hello World

前置条件:工作区与 SDK已准备好,已确认经典 ESP32-DevKitC 板卡。

验证状态

以下命令已与 v4.2.0 官方板卡资料核对,但本站尚无实板运行结果。示例日志只是预期现象。

编译

source ~/Projects/zephyr-workspace/.venv/bin/activate
cd ~/Projects/zephyr-workspace/zephyr
west build -p always -b esp32_devkitc/esp32/procpu \
samples/hello_world -d build/hello-world

-p always 清理指定构建目录的旧输出;-d 为实验使用独立构建目录,避免与 Blinky 混淆。成功后检查 build/hello-world/zephyr/zephyr.elfzephyr.bin

此处沿用该板默认 Simple boot 流程,不额外打开 MCUboot / sysbuild。以后学习 OTA 时再单独记录引导链差异。

连接与烧录

插入开发板,观察设备节点。优先记录 /dev/serial/by-id/ 下的稳定标识。

ls -l /dev/serial/by-id/
west flash -d build/hello-world

若有多个串口设备,用 runner 帮助确认选择端口的参数:

west flash -d build/hello-world --context
west flash -d build/hello-world -H

不要把示例串口路径当成自己的设备。烧录失败时先保留完整输出,再看排错页

观察串口

cd ~/Projects/zephyr-workspace/zephyr/build/hello-world
west espressif monitor -h
west espressif monitor

从构建目录执行,使该扩展读取当前构建的 runners.yaml 和 ELF。此版本的 -d 是地址解码开关,不是构建目录;指定串口使用 -p,指定波特率使用 -b。参数以当前版本帮助为准。必要时选择实际端口;默认示例通常使用 115200 波特率,也可根据生成的配置确认。若烧录后错过启动输出,在监视器已连接的情况下按 EN / RESET。

预期看到类似:

*** Booting Zephyr OS ... ***
Hello World! ...

版本和板卡后缀随构建变化。看到明确的 Hello World 输出才算完成运行验证,仅有编译成功还不够。

保存证据

  • 记录 git describe --tags --always 和完整 board target。
  • 保存成功编译末尾输出。
  • 保存烧录结果与串口启动文本。
  • 实验手记中填写结果及日期。

官方来源

基于 Zephyr v4.2.0 官方资料整理的中文学习笔记,非逐字翻译;命令及说明作了学习场景适配。

查看对应版本英文源码 · 本站英文资料与许可