目标
让读者在30分钟内完成环境搭建、编译烧录、调试第一个Zephyr应用程序(以Blinky为例),并理解基础开发流程。
2.1 开发环境搭建
-
系统要求
-
支持的操作系统(Linux/macOS/Windows WSL)
-
硬件准备(开发板推荐:Nordic nRF52、STM32F4 Discovery等)
-
-
安装依赖工具获取Zephyr源码
# 示例:Ubuntu环境 sudo apt install --no-install-recommends git cmake ninja-build gcc-multilib \ python3-pip python3-setuptools python3-wheel pip3 install west -
获取Zephyr源码
west init zephyrproject cd zephyrproject west update west zephyr-export pip3 install -r zephyr/scripts/requirements.txt -
配置工具链
-
安装Zephyr SDK(或手动指定GCC工具链路径)
-
验证环境:
west build -h
2.2 第一个项目:Blinky
- 创建项目目录
- 编写代码
- 配置设备树(Devicetree Overlay)
- 编译与烧录
2.3 调试与问题排查
-
日志输出
-
启用日志模块(
prj.conf中添加):CONFIG_LOG=y CONFIG_GPIO_LOG_LEVEL_DBG=y # 启用GPIO驱动调试日志 -
代码中打印日志:
printk("LED state: %d\n", gpio_pin_get_dt(&led));
-
-
常见错误解决
-
设备树未生效:检查
build/zephyr/zephyr.dts确认Overlay是否正确合并 -
编译失败:清理构建目录:
west build -t clean -
硬件不响应:确认供电和SWD接口连接
-
2.4 扩展练习
-
添加按钮控制
-
在设备树中定义按键节点,使用中断触发LED状态切换
-
-
多线程示例
-
创建两个线程分别控制LED和打印计数器
-
-
使用VS Code开发
-
配置
settings.json实现一键编译烧录
-
关键点总结
-
开发流程:代码 → 设备树配置 → 编译 → 烧录 → 调试
-
核心工具:
west(项目管理)、CMake(构建)、Devicetree(硬件抽象) -
调试优先:善用日志和QEMU加速开发迭代

1860

被折叠的 条评论
为什么被折叠?



