Zephyr Project 环境配置
概述
Zephyr Project 是一个可扩展的实时操作系统, 为资源受限的设备提供支持. 由 Linux 基金会托管.
因而该项目极具Linux特点: 性能强大, 学习曲线陡峭, 入门困难. 主要使用命令行格式, 基于类Unix系统测试比较充分, Window下容易遇到各种莫名的问题.
该项目刚出来的时候, 也关注过, 根据其指导手册, 在windows下就没有配置成功. 现在有空又试了一下, 算是在windows环境下, 成功搭建了运行环境, 并把范例跑了起来.
1. 安装 Chocolatey
首先,需要安装 Chocolatey 包管理器。请参阅 Chocolatey 安装页面 获取详细信息。
使用 PowerShell 以管理员身份运行以下命令:
Set-ExecutionPolicy AllSigned |
升级 Chocolatey:
choco upgrade chocolatey |
2. 安装依赖
以管理员身份打开命令提示符, 并运行以下命令,用以安装 cmake, ninja, gperf, python, git, dtc-msys2, wget, unzip 等依赖工具。如果已经安装过,请确保升级到最新版本。
choco feature enable -n allowGlobalConfirmation |
3. 安装 West 工具
使用 Python 安装 West 工具。West 专门用于管理 Zephyr 项目,它可以下载并更新项目。
pip3 install -U west |
4. 安装 Zephyr SDK
安装 Zephyr SDK 时,请从 Zephyr SDK 的 GitHub 页面 下载最新版本,而不是官方文档中, 命令行里的版本 (官方文档更新不及时, 后面编译时会提示版本过低)。
例如,当前最新版本为 Zephyr SDK 0.16.0。下载 Windows 的 FULL 版本(下载链接),然后将其手动解压到适当的目录。
在解压出的 zephyr-sdk-0.16.0
目录下,双击运行 setup.cmd
。
这时候会提示 Zephyr SDK setup requires '7z' to be installed and available in the PATH.
就是要把7z的bin加入到环境变量PATH中.
一个简单的方法,可以将 7z.exe 和 7z.dll 复制到 zephyr-sdk-0.16.0
目录下,然后运行 setup.cmd
。
注意: setup.cmd
, 只需要执行一次, 不要多次执行.
5. 编译项目
要查看支持的开发板列表,请访问:官方支持的开发板列表。
我手头有 ST Nucleo L152RE 开发板. 就以此为例,运行以下命令:
cd %HOMEPATH%\zephyrproject\zephyr |
注意:
- 如果是从其他地方复制的 zephyrproject 文件夹,build 可能会出错。此时,删除 zephyr 目录下的 build 文件夹, 或者使用
west build -p always ...
- 如果在编译过程中出现错误,请仔细检查依赖工具的最低版本要求,然后按需解决问题。
编译结果: L152RE 用了 14K的 flash, 4K的 RAM…
Memory region | Used Size | Region Size | %age Used |
---|---|---|---|
FLASH: | 14200 B | 512 KB | 2.71% |
RAM: | 4224 B | 80 KB | 5.16% |
IDT_LIST: | 0 GB | 2 KB | 0.00% |
换f031K开发板看下编译结果: 13K的flash, 2K的RAM
Memory region | Used Size | Region Size | %age Used |
---|---|---|---|
FLASH: | 12770 B | 32 KB | 38.97% |
RAM: | 1784 B | 4 KB | 43.55% |
IDT_LIST: | 0 GB | 2 KB | 0.00% |
简单的结论: 对于某些成本敏感, 有超低成本需求的应用, Zephyr 依旧太耗资源了. 直观感觉, 适合使用 Zephyr 的项目, 和 RT-thread 的目标类似, 就是有联网需求的嵌入式应用, 能直接使用到里面成熟的模块或方案, 功能上保证了可靠性和稳定性, 加速项目的开发进度.
6. 烧录
使用以下命令进行烧录:
west flash |
这时, 会提示未安装 openocd 或未正确配置 openocd 的环境变量.
请访问 OpenOCD 官网 下载源代码,
windows安装版本在 OpenOCD 的 GitHub 页面 可以下载到相应版本。
例如: Windows 版本的 OpenOCD。
下载并解压后,将其 bin 目录添加到环境变量 PATH 中。
完成上述操作后,在新的命令提示符窗口中运行以下命令以测试:
openocd |
然后,再次尝试烧录和调试:
west flash |
如果仍然出现问题,请根据提示信息仔细检查硬件连接和系统配置。例如,首先检查烧录器,然后查看检测到的硬件电压等。具体操作因硬件而异,无法一一详述。
参考资料
原创于 DRA&PHO