配置Zephyr编译环境

安装chocolatey

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

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。

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

choco feature enable -n allowGlobalConfirmation

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

choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'

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

choco install ninja gperf python311 git dtc-msys2 wget 7zip

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

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

pip3 install -U west

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

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

首先初始化zephyrproject。

cd %HOMEPATH%
west init zephyrproject

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

cd zephyrproject
west update

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

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

west zephyr-export

接下来安装python依赖库。

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

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构建包。

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
7z x zephyr-sdk-0.16.5-1_windows-x86_64.7z

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

cd zephyr-sdk-0.16.5-1
setup.cmd

编译Hello World

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

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

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,会提示如下错误。

编译完成后,运行。

west build -t run

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

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

可以通过chcp 431命令解决。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/6496.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自然科学领域基于ChatGPT大模型的科研绘图

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮,可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…

【深度学习实战(32)】模型结构之解耦头(de-coupled head)与耦合头(coupled head)

一、传统耦合头局限性 传统的检测模型,如YOLOv3和YOLOv4,使用的是单一的检测头,它同时预测目标类别和框的位置。然而,这种设计存在一些问题。首先,将类别预测和位置预测合并在一个头中,可能导致一个任务的…

机器学习小tip

有监督学习 有监督学习是通过现有训练数据集进行建模,再用模型对新的数据样本进行分类或者回归分析的机器学习 方法。 无监督学习 而无监督学习,或者说非监督式学习,则是在没有训练数据集的情况下,对没有标 签的数据进行分析并…

Wireshark CLI | 过滤包含特定字符串的流

问题背景 源自于和朋友的一次技术讨论,关于 Wireshark 如何查找特定字符串所在的 TCP 流,原始问题如下: 仔细琢磨了下,基于我对 Wireshark 的使用经验,感觉一步到位实现比较困难,所以想着说用 Wireshark C…

Mybatis Interview Question Summary

1. In best practice, usually an Xml mapping file will write a Dao interface corresponding to it. What is the working principle of the Dao interface? Can the methods in the Dao interface be overloaded when the parameters are different? Answer: The Dao in…

旅游系列之:庐山美景

旅游系列之:庐山美景 一、路线二、住宿二、庐山美景 一、路线 庐山北门乘坐大巴上山,住在上山的酒店东线大巴游览三叠泉,不需要乘坐缆车,步行上下三叠泉即可,线路很短 二、住宿 长江宾馆庐山分部 二、庐山美景

Photoshop中图像编辑的基本操作

Photoshop中图像编辑的基本操作 Photoshop中调整图像窗口大小Photoshop中辅助工具的使用网格的使用标尺的使用注释工具的使用 Photoshop中置入嵌入式对象Photoshop中图像与画布的调整画布大小的修改画布的旋转图像尺寸的修改 Photoshop中撤销与还原采用快捷键进行撤销与还原采用…

机器学习之基于Jupyter多种混合模型的糖尿病预测

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 随着现代生活方式的改变,糖尿病的患病率在全球范围内呈现上升趋势。糖尿病是一种慢性代谢…

上位机图像处理和嵌入式模块部署(树莓派4b使用lua)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 lua是一个脚本语言,比c语言开发容易,也没有python那么重,整体使用还是非常方便的。一般当成胶水语言进行开发&a…

【Hadoop】--基于hadoop和hive实现聊天数据统计分析,构建聊天数据分析报表[17]

目录 一、需求分析 1、背景介绍 2、目标 3、需求 4、数据内容 5、建库建表 二、ETL数据清洗 1、数据问题 2、需求 3、实现 4、扩展概念:ETL 三、指标计算 1、指标1:统计今日消息总量 2、指标2:统计每小时消息量、发送量和接收用…

哥白尼高程Copernicus DEM下载(CSDN_20240505)

哥白尼数字高程模型(Copernicus DEM, COP-DEM)由欧洲航天局(European Space Agency, 简称ESA或欧空局)发布,全球范围免费提供30米和90米分辨率DEM。COP-DEM是数字表面模型(DSM),它表示地球表面(包括建筑物、基础设施和植被)的高程。COP-DEM是经过编辑的D…

循环神经网络模块介绍(Pytorch 12)

到目前为止,我们遇到过两种类型的数据:表格数据和图像数据。对于图像数据,我们设计了专门的卷积神经网络架构(cnn)来为这类特殊的数据结构建模。换句话说,如果我们拥有一张图像,我们 需要有效地利用其像素位置&#xf…

指针,解引用,空指针,野指针,常量指针(const+指针),指针常量(const+常量)

指针变量通过*操作符,操作指针变量指向的内存空间,被称为解引用。 所有指针类型在32位操作系统下是4个字节,64位是8个字节。 int a 10;int *p; // 定义了一个整型指针p。 *表示p是一个指针 p &a; // 将变量a的地址赋给指针p。 &是取地址运算符…

算法课程笔记——蓝桥云课第六次直播

(只有一个数,或者因子只有一个)先自己打表,找找规律函数就是2的n次方 异或前缀和 相等就抵消 先前缀和再二分

斐波那契数列,Java版本实现

斐波那契数列是一个著名的数列,其中每个数字(从第三个开始)是前两个数字的和。数列的前几个数字是 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, … 等。下面是一个用Java实现的斐波那契数列的详细版本,包括递归方法、迭代方法以及一个优化的…

[HDLBits] Simple wire

Create a module with one input and one output that behaves like a wire. module top_module( input in, output out );assign out in; endmodule

【Python】机器学习之Sklearn基础教程大纲

机器学习之Sklearn基础教程大纲 1. 引言 机器学习简介Scikit-learn(Sklearn)库介绍安装和配置Sklearn 2. 数据预处理 2.1 数据加载与查看 - 加载CSV、Excel等格式的数据- 查看数据的基本信息(如形状、数据类型等)2.2 数据清洗…

本地部署大模型ollama+docker+open WebUI/Lobe Chat

文章目录 大模型工具Ollama下载安装运行Spring Ai 代码测试加依赖配置写代码 ollama的web&Desktop搭建部署Open WebUI有两种方式Docker DesktopDocker部署Open WebUIDocker部署Lobe Chat可以配置OpenAI的key也可以配置ollama 大模型的选择 本篇基于windows环境下配置 大模型…

翔云优配恒生指数涨1.85%、恒生科技指数涨3.74% 小鹏汽车涨超8%

5月3日港股开盘,恒生指数涨1.85%,报18543.3点,恒生科技指数涨3.74%,报4009.96点,国企指数涨2.23%,报6580.81点, 翔云优配是一家领先的在线投资平台,提供全球范围内的股票、期货、基金等交易服务…

小程序引入 Vant Weapp 极简教程

一切以 Vant Weapp 官方文档 为准 Vant Weapp 官方文档 - 快速入手 1. 安装nodejs 前往官网下载安装即可 nodejs官网 安装好后 在命令行(winr,输入cmd)输入 node -v若显示版本信息,即为安装成功 2. 在 小程序根目录 命令行/终端…