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

相关推荐
狼头长啸李树身15 分钟前
机器人交社保属于“无稽之谈”?
网络·机器人·媒体
Bruce Jue36 分钟前
计算机网络开发--阻塞与非阻塞、同步与异步、http协议
网络协议·计算机网络·http
yczykjyxgs2 小时前
边缘计算与 PCDN 的融合:未来网络架构新趋势
网络·人工智能·边缘计算
企鹅侠客3 小时前
MAC地址IP地址如何转换?
网络协议·tcp/ip·macos
珹洺3 小时前
计算机网络:(一)详细讲解互联网概述与组成 (附带图谱更好对比理解)
服务器·开发语言·网络·数据库·后端·计算机网络·php
9527出列3 小时前
什么是CGI程序
网络协议
夜泉_ly3 小时前
项目日记 -云备份 -项目认识与环境搭建
linux·网络·c++
敲键盘的Q3 小时前
【eNSP实战】三层交换机使用ACL实现网络安全
网络
菜菜小蒙3 小时前
【Linux】https 协议
网络协议·http·https
chen_song_4 小时前
WebRTC中音视频服务质量QoS之RTT衡量网络往返时延的加权平均RTT计算机制‌详解
网络·音视频·webrtc