配置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命令解决。

相关推荐
2401_8734794017 分钟前
金融合规新规下IP查询怎么做?用IP离线库实现数据不出域
网络协议·tcp/ip·金融·ip
IT小白杨21 分钟前
多账号环境稳定性由什么决定:指纹、网络、存储如何共同决定账号安全
网络·安全·开源软件·业界资讯·指纹浏览器
微硬创新2 小时前
汽车制造产线协同:耐达讯PROFINETDeviceNet网关在机器人通信中的应用
人工智能·物联网·网络协议·自动化·汽车·制造·信息与通信
米尔的可达鸭2 小时前
深入操作系统 Socket 底层:套接字控制块、FD映射、阻塞IO核心完整实现
arm开发·数据结构·websocket·网络协议·算法·架构·安全架构
数智化管理手记2 小时前
智能财务能替代人工核算吗?智能财务核心功能包含哪些?
大数据·网络·数据库·数据挖掘·精益工程
白帽小阳3 小时前
我的AI辅助开发工具链2026版:从编码到部署的全栈智能实践
网络·人工智能·学习·安全·自动化
衣舞晨风3 小时前
什么样的 AI 网关算是一个好网关
网络·人工智能·网关·ai·大模型·ai网关
Keepingrun4 小时前
http登录和授权
网络·网络协议·http
Sirius Wu4 小时前
OpenClaw 并发安全完整详解
网络·人工智能·安全·ai·架构·aigc
rcms152702692184 小时前
AMAT 0190-27952-04 终端服务器
网络