配置Zephyr编译环境

安装chocolatey

以管理员身份运行PowerShell,然后在PowerShell下执行以下命令,安装chocolatey。

bash 复制代码
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

如果出现安装失败,可删除C:\ProgramData\chocolatey目录后再次运行相同命令,多次尝试直到安装成功。

安装完成后,可输入choco命令,确认版本号。

安装依赖程序

以管理员身份运行cmd。

首先,禁用全局确认以避免必须确认单个程序的安装。

bash 复制代码
choco feature enable -n allowGlobalConfirmation

然后,安装cmake。因为网络原因,安装过程较慢,并且可能出现中断,需要耐心等待。

bash 复制代码
choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'

安装其他依赖工具。安装过程与cmake类似,省略安装过程图片。

bash 复制代码
choco install ninja gperf python311 git dtc-msys2 wget 7zip

下载Zephyr源码,安装python依赖库

以管理员身份运行cmd。安装python库west。

bash 复制代码
pip3 install -U west

安装后查看python库列表如下。

下载Zephyr源码,以普通用户身份运行cmd。源码下载到当前用户目录。

首先初始化zephyrproject。

bash 复制代码
cd %HOMEPATH%
west init zephyrproject

然后进入zephyrproject目录,更新Zephyr源码。

bash 复制代码
cd zephyrproject
west update

注意,由于更新过程是从github拉取文件,网络环境不稳定会导致部分源码更新失败,需要反复运行west update,直到没有以下错误log。

导出Zephyr CMake软件包。这允许CMake自动加载构建Zephyr应用程序所需的样板代码。

bash 复制代码
west zephyr-export

接下来安装python依赖库。

以管理员身份运行cmd(也可以用普通用户身份安装,但是用管理员身份安装更加可靠)。并执行以下命令。

bash 复制代码
pip3 install -r %HOMEPATH%\zephyrproject\zephyr\scripts\requirements.txt

如果安装过程中没有出现错误,会列出已经完成安装的python库。否则需要尝试重新安装。

此时,可以再次使用pip list查看python库列表。

安装Zephyr SDK

Zephyr软件开发工具包(SDK)包含Zephyr支持的每个架构的工具链,其中包括编译器、汇编程序、链接器和构建Zephyr应用程序所需的其他程序。

还包含其他host工具,如用于模拟、烧录和调试Zephyr应用程序的自定义QEMU和OpenOCD构建。

以普通用户身份运行cmd。下载SDK构建包。

bash 复制代码
cd %HOMEPATH%
wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.5-1/zephyr-sdk-0.16.5-1_windows-x86_64.7z

解压Zephyr SDK构建包。

建议在以下路径解压Zephyr SDK:

  • %HOMEPATH% ---- 当前用户目录
  • %PROGRAMFILES% ---- C:\Program Files
bash 复制代码
7z x zephyr-sdk-0.16.5-1_windows-x86_64.7z

执行Zephyr SDK setup脚本。仅需要在SDK下载后执行一次。如果更换SDK路径,需要再次执行。

bash 复制代码
cd zephyr-sdk-0.16.5-1
setup.cmd

编译Hello World

以管理员身份运行cmd。进入zephyr目录,执行编译命令。

注意,帮助文档中提供的命令west build -b qemu_x86 samples/hello_world,会导致运行时异常。因此用以下命令进行编译。

bash 复制代码
cd %HOMEPATH%\zephyrproject\zephyr
west build -b qemu_cortex_m3 samples/hello_world

安装QEMU软件,在https://qemu.weilnetz.de/w64/下载qemu-w64-setup-20240423.exe,并手动安装。

注意将QEMU安装路径添加到环境变量。

如果没有安装QEMU,会提示如下错误。

编译完成后,运行。

bash 复制代码
west build -t run

看到Hello World打印,说明已经运行成功。

通过ctrl + a,再按x退出QEMU,退出后,输入方向键会导致乱码,这是因为QEMU是模拟linux环境,与windows使用的字符集不同。

可以通过chcp 431命令解决。

相关推荐
艾莉丝努力练剑1 小时前
【AI大模型接入SDK】LLM会话管理模块设计
网络·c++·人工智能·学习·大模型
157092511348 小时前
Android进阶之光:HTTP协议原理深度解析
android·网络协议·http
虹科网络安全10 小时前
Redis 安全公告:CVE-2026-81934 TLS 处理漏洞及修复建议
网络·人工智能·网络安全
小程序设计11 小时前
某师范学院网络规划与设计
网络·安全
可爱系程序猿12 小时前
WSD 打印机时好时坏:从发现服务、地址变化到 Standard TCP/IP 端口的迁移记录
网络·网络协议·tcp/ip·程序人生·电脑
蓝速科技13 小时前
便民服务大厅 AI 数字人一体机场景适配与落地指南丨蓝速科技
大数据·网络·数据结构·人工智能·自然语言处理·数据分析·运维开发
济南凡维14 小时前
CODESOFT中如何将标签保存为PDF文件
网络·人工智能·打印机·codesoft
德迅云安全杨德俊14 小时前
高防IP:构建“防护-加速-管控”三位一体的全链路安全体系
网络·安全·ddos
猫哥随身wifi15 小时前
随身WiFi 怎么选?2026 主流品牌随身 WiFi 对比与选购避坑参考
网络·人工智能·5g·智能手机
en.en..15 小时前
TCP套接字编程 完整流程解析(服务端 + 客户端)
网络