当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]Zephyr是一个现代的开源RTOS,已经在工业设备和物联网系统中使用。它支持数十种微控制器,包括STM32和ESP32-S3,非常适合那些想要超越Arduino并了解实时系统如何工作的人。

0. 介绍

你好!本文是在Windows上手动安装Zephyr RTOS的分步指南。

Zephyr是一个现代的开源RTOS,已经在工业设备和物联网系统中使用。它支持数十种微控制器,包括STM32和ESP32-S3,非常适合那些想要超越Arduino并了解实时系统如何工作的人。

我们的目标是创建一个完全可控和隔离的开发环境。

1. 准备-下载所有必要的组件

在本节中,让我们下载所需的所有内容。我们不会安装任何东西,只是下载。

在进入Zephyr的世界之前,我们需要准备我们的工具包,比如Git和Python。如果你已经有了,那太好了!如果没有,这里有下载链接。

1.1. 下载软件

我将在括号中指出我使用的程序的版本,但您的版本可能会有所不同。

•Python(3.12.10):用于Zephyr构建脚本的编程语言。

•Git(2.51.0):版本控制系统(west需要)。

•7-Zip(24.09):解压SDK的归档器。

•CMake(4.1.1):一个强大的软件构建系统。

•忍者(1.13.1):一个专注于速度的小型构建系统。

•OpenOCD(0.12.0):微控制器的调试器。

•VS Code(1.105.0):支持调试的代码编辑器。

不要让这个列表吓到你——这些都是标准的、轻量级的工具,在Zephyr之外也会派上用场。

1.2. 下载Zephyr SDK

Zephyr SDK(0.17.4):我们的编译器集。下载最小SDK,仅适用于STM32和ESP32-S3,但可以随意下载您计划使用的任何其他微控制器的工具链。

最小的SDK包含基本的基础架构,但不包含所有编译器——我们将手动添加必要的编译器,以节省空间并加快安装速度。

导航到Zephyr页面,找到Zephyr SDK(Windows)安装部分,然后单击Download the Zephyr SDK bundle链接。这将带您到最新版本的官方GitHub存储库。

下载Windows x86-64的三个存档文件:Minimal、arm-zephyr-eabi、xtensa-espressif_esp32s3_zephyr-elf。

2. 设置沙盒环境

2.1. 安装主软件

安装Python、Git、VS Code、7-Zip和CMake。

重要:从安装程序安装时,请确保选中“Add to PATH”框(如果有这样的选项),或者手动将可执行文件的路径添加到PATH变量中。

2.2. 创建文件夹结构

让我们创建Zephyr车间。我将使用D:\Zephyr,但您可以选择任何方便的位置(例如,C:\Projects\Zephyr)。

转到D:\Zephyr目录,创建一个名为tools的文件夹。

将Ninja和OpenOCD存档的内容解压缩到工具中,每个工具都放入自己的子文件夹中。

接下来,从zephyr-sdk-0.17.4_windows-x86_64_minimal.7z归档文件中,将其内容解压缩到tools文件夹中。

工具中将出现一个名为zephyr-sdk-0.17.4的文件夹,为方便起见,我们将其重命名为zephyr-sdk。

转到zephyr-sdk文件夹并解压剩下的两个归档文件toolchain_windows-x86_64_arm-zephyr-eabi.7z和toolchain_windows-x86_64_xtensa-espressif_esp32s3_zephyr-elf.7z。

文件夹结构应该如下所示。

2.3创建Python虚拟环境

打开终端,检查Python的安装和配置:

如果您得到一个版本号,说明一切都配置正确。

现在让我们为Zephyr Python脚本创建一个独立的空间。这被称为虚拟环境,是避免库版本冲突的最佳实践。打开终端,导航到D:\Zephyr,然后运行命令:

在这个阶段,您应该有。Venv和工具文件夹。

2.4. 创建并激活启动器脚本

前面,我提到需要将所有可执行文件的路径添加到PATH变量中,以便Windows知道它们的位置,但是这可以通过当前会话的批处理文件在本地完成。

我们不修改系统的全局环境变量,而是创建一个方便的zephyr-env。在D:\Zephyr文件夹中的cmd脚本,它将“动态”配置我们的整个环境。

zephyr-env。cmd脚本将激活Python虚拟环境并为当前终端会话设置变量ZEPHYR_BASE, ZEPHYR_SDK_INSTALL_DIR, ZEPHYR_TOOLCHAIN_VARIANT和其他变量。

您可以向此脚本添加任何环境变量。

文件夹结构应如下所示:

2.5. 检查启动程序脚本

zephyr-env.cmd运行。您应该在终端中看到以下内容:

现在让我们确保所有的工具都就位了。依次输入以下命令。回答应该类似于下面的答案(版本可能会有所不同):

如果所有命令都显示版本号-太棒了!环境设置正确。如果没有找到命令,请检查脚本中的PATH和路径。

2.6. 下载Zephyr源代码

太好了,所有的工具都到位了!现在,保持在相同的终端(D:\Zephyr),让我们安装Zephyr源代码本身:

•Install west:这是Zephyr的“项目经理”。在我们的虚拟环境中安装它:

•初始化工作空间:下面的命令将创建zephyrproject主文件夹,并将Zephyr核心下载到其中:

•下载所有模块:这个命令就像一个编排器,以正确的版本拉入几十个相关的项目(HAL模块,库,引导加载程序):

•配置IDE集成:这允许CMake自动加载构建Zephyr应用程序所需的样板代码:

•安装Python依赖项:现在我们有了所有的源代码,让我们安装构建它所需的Python库:

•最后一步-下载Wi-Fi和蓝牙在ESP32上工作所需的文件:

最终的文件夹结构应该如下:

重要:运行zephyr-env。每次想要使用Zephyr RTOS时,都要打开cmd。

3. 配置Visual Studio代码

我们的开发环境差不多准备好了!剩下的就是配置VS Code以舒适地使用Zephyr。

3.1. 安装所需的扩展

我们将只安装四个扩展,这将使使用Zephyr尽可能方便——从语法高亮显示到代码自动完成。

启动VS Code并打开扩展面板(Ctrl+Shift+X)。在“搜索扩展”字段中,输入扩展名并单击“安装”按钮进行安装。对上图中所示的所有扩展重复此操作。

3.2. 配置CMake工具

剩下一个扩展要配置- CMake工具。

默认情况下,它会在每次打开或修改文件时自动配置项目。这与西风建造系统产生了冲突。让我们禁用这些自动操作。

打开VS Code设置(文件→首选项→设置或按Ctrl+,)。

在扩展→CMake工具部分,找到并禁用三个选项,如图所示。

高级用户的替代方案:

打开设置。json (Ctrl+Shift+P→“Open Settings json”),并添加以下行:

完成了!VS Code已经配置好,可以使用Zephyr了。

4. 结论

恭喜你!现在,您不仅安装了Zephyr,还拥有了自己的完全可控的开发实验室,用于实验微控制器。

代码

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭