视频教程(https://v.eepw.com.cn/video/play/id/16462)中,对于Zephyr开发环境的建构并未详细说明。
参考:刘工(论坛ID:lulug)发的贴子:https://forum.eepw.com.cn/thread/399428/1/#1 标题:“ZephyrRTOSWindows11完整安装教程”
提出问题:
我在D盘有一个MCXW71_zephyr文件夹,为FRDM-MCXW71开发板建立一个zephyr开发环境,要求windows下,完全绿色,重装系统后可以用,全部文件放在这个文件夹,体积最小:
注释:我的系统版本使用了win10的最后一个版本22H2,19045。
一、 目录规划
在 D:\MCXW71_zephyr 下创建以下子文件夹:
D:\MCXW71_zephyr\env —— 存放 Python、Git、CMake、Ninja 等便携版工具。
D:\MCXW71_zephyr\project —— 存放 Zephyr 源码及你的项目代码。
二、 准备便携版底层工具(全部解压到 env 目录)
请前往各官网下载以下工具的 Windows 64位 Binary / Portable / ZIP 版本(切勿下载 .exe/.msi 安装包):
1,Python 3.12.10 便携版:下载 https://www.python.org/ftp/python/3.12.10/python-3.12.10-embed-amd64.zip。解压到 D:\MCXW71_zephyr\env\python。进入该目录,用记事本打开 python312._pth,
取消注释(删掉前面的 #)最后一行的 import site,再加上
# Add local paths for pip
Scripts
Lib\site-packages
。下载get-pip.py (https://bootstrap.pypa.io/get-pip.py)放入该目录,在此处打开 CMD 执行
.\python.exe get-pip.py --target="D:\MCXW71_zephyr\env\python-3.12.10-embed-amd64\Lib\site-packages"
安装 pip。



3,CMake:下载 Windows x64 ZIP。解压到 D:\MCXW71_zephyr\env\cmake。
Ninja:下载 ninja-win.zip。解压并将 ninja.exe 放入 D:\MCXW71_zephyr\env\ninja。
(注释:因为后续发现python 3.14版本过高,导致有些库无法安装,所以退回python3.12,相关记录删除,明日重装系统,再次测试)
# 安装 Chocolatey,以管理员身份运行 PowerShell,依次运行如下命令:
$env:HTTP_PROXY="http://127.0.0.1:1082"; $env:HTTPS_PROXY="http://127.0.0.1:1082"
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'))
第一行设置代理,为了提高互联网速度。
第二行,可以运行网络下载的脚本的。
第三行,兼容https的设置,固定套路。
第四行,下载脚本并运行安装choco。
安装choco完成后,关闭这个窗口,从新打开一个,使用命令 choco来测试命令已经安装完成。接着使用choco安装。
# 使用 Chocolatey 安装所有依赖工具(不加代理会慢)
$env:HTTP_PROXY="http://127.0.0.1:1082"; $env:HTTPS_PROXY="http://127.0.0.1:1082"
choco install -y cmake --installargs 'ADD_CMAKE_TO_PATH=System'
choco install -y ninja gperf python312 git dtc-msys2 wget 7zip
完成的截图(中间等了一段时间)
关闭这个powershell窗口,让更新的PATH生效。新开一个powershell,测试安装:
# 验证安装
cmake --version
python --version
git --version
补充说明:你可能会问,为什么不手工一个一个的安装这些软件工具,非要搞一个包管理呢?windows是一个贴近物质层面的操作系统,它不像UNIX/BSD/linux是使用抽象目录树的格式,从一般直觉上看,我们更倾向于知道这些软件二进制文件所在何处。但是对于Zephyr的特殊之处在于,它的风格和工具链是linux内核式的,如果你找一种统一IOS(根子是BSD)和Android(根子是linux)的物联网软件的话,Matter是标准,Zephyr是骨架,这是已经钦定的了。这俩都是UNIX系的抽象模型打头的模式(微软的这种贴地操作确实存在灵性天花板)。在这种情况下,从下到上操作将变的非常困难,工具链保持乱七八糟的状态是比较长期的特征(参考linux的GUI一直都是慢慢悠悠的,侧重灵性的一般物质优化,或者说针对性优化差)。在这种情况下,只有尽可能使用cli和保守的开发生态,比如说choco这种,来应对。你任何的试图稳定物质层面——固定化一组二进制软件包的行为都将被上层的更新/变化打乱。如果你真的优化得到了一组非常稳定的二进制工具包,那么,你也不会获得任何阶级提升,相反是给zephyr开发高桌会议白白供血供思路供肥料了,所以只有选择已经成型的稳定生态使用,再寻找自由度的策略




排除.git后的体积大小:274M!!还是很大!

我要赚赏金
