Zephyr 这几年在嵌入式开发圈持续升温。凭借广泛的硬件支持、活跃的开源生态和灵活的扩展能力,它正被越来越多地应用于消费电子、物联网和工业控制等领域。与此同时,随着嵌入式产品对图形界面的要求不断提升,如何高效完成 GUI 设计并快速部署到 Zephyr 平台,也成了开发者关注的新课题——云栈社区里同样有不少人在讨论这个话题。
本文以 GUI Guider 2.0.1、i.MX RT1064-EVK 开发板和 RK043FN66HS-CTG 显示屏为例,带你走通从 UI 设计、Zephyr 应用导出,到工程构建、程序烧录和运行验证的完整流程,轻松把设计好的界面跑在开发板上。

下面,就从开发环境配置开始,一步步完成这次 GUI Guider 与 Zephyr 的实战之旅。
一、配置并验证 Zephyr 开发环境
开始前,请按照 GUI Guider 官方 User Guide 中的 Zephyr 开发环境设置 完成环境配置,并使用官方示例确认目标开发板能够正常构建、烧录和运行。
二、生成并导出 Zephyr 应用
1. 创建工程并生成代码
在 GUI Guider 中创建基于 i.MX RT1064-EVK 的工程并完成界面设计后,单击 Generate Code 生成应用代码。
2. 导出 Zephyr 应用
单击 OS > Zephyr,将应用导出到 Zephyr 工作空间中的目标目录,
例如:<zephyr-workspace>/gui_guider_demo

3. 确认导出结果
导出完成后,应用目录应包含以下文件和目录:

CMakeLists.txt:定义 Zephyr 应用的构建入口,并指定需要编译的源文件
prj.conf:用于配置 LVGL、内存和线程栈等选项
src/main.c:应用入口文件,负责初始化界面并启动应用逻辑
src/custom/:存放自定义业务逻辑,避免重新生成代码时被覆盖
src/generated/:存放 GUI Guider 自动生成的界面代码,不建议直接修改
三、构建并烧录 Zephyr 应用
在终端中进入导出的 Zephyr 应用根目录,然后依次执行:
west build -p always -b mimxrt1064_evk --shield rk043fn66hs_ctg .
west flash
说明: 命令中的 . 表示当前应用目录,适用于 Windows、Linux 和 macOS。
四、验证运行结果
运行验证: 烧录完成后,确认屏幕能够正常显示设计界面,且触控交互响应符合预期。如果以上功能正常,说明从 GUI Guider 到 Zephyr 的部署流程已经打通。
常见问题:
- 屏幕无显示或界面异常:检查串口日志、显示 shield 配置和 GUI Guider 工程中的显示分辨率设置
- 构建或运行时提示内存不足:适当增大
prj.conf 中的 CONFIG_LV_Z_MEM_POOL_SIZE
- 主线程栈溢出或异常重启:增大
CONFIG_MAIN_STACK_SIZE
调整配置后,请重新构建并烧录;具体数值应结合错误日志、界面复杂度和硬件资源确定。
五、建立可重复的 UI 迭代流程
完成首次构建和部署后,后续界面修改可按以下流程迭代:

为避免自定义逻辑在重新生成代码时被覆盖,建议将业务逻辑放在自定义代码区域,并将 GUI Guider 工程和导出的 Zephyr 应用纳入版本管理。
小结
GUI Guider 提供了从界面设计到 Zephyr 应用导出的完整路径。完成首次环境配置后,后续 UI 更新只需重复生成、导出、构建和验证流程,可以显著降低界面迭代与开发板部署的成本。
|