zephyr系统简介及windows开发环境搭建

一、zephyr简介

1、介绍

Zephyr 项目是由 Linux 基金会主办的开源协作项目。它是一个小型、可扩展的实时操作系统 (RTOS),专为具有多种硬件架构的嵌入式平台而构建。它针对物联网 (IoT) 设备,这些设备通常具有严格的资源限制。因此,Zephyr 项目的目标是设计一个占用空间小、功耗低的模块化操作系统。此外,它高度重视网络安全,以保护连接到互联网的设备免受潜在伤害。由于其模块化,该软件可以很容易地针对不同规格的不同平台进行开发。它包含许多工具,例如传感器和设备驱动程序以及网络堆栈,使开发人员可以轻松地将软件安装到他们的特定应用程序中。
zephyr架构
zephyr具有:
1.高可配置性,高度模块化。
2.支持抢占线程。
3.内存与资源静态分配。
4.统一的设备驱动接口。
5.内存保护:栈溢出保护、内核对象和设备驱动程序权限跟踪,线程隔离。
6.原生、功能齐全和优化的网络堆。

2、模块组织

在架构级别上,源代码可以划分为模块——服务于特定目的的代码集合。根据模块与硬件的接近程度,可以将模块分为三层:
内核层:操作系统的主干。包括用于管理与硬件和任务调度直接相关的低级进程的模块。
操作系统服务层:提供对所有常见操作系统功能的访问。该层中的模块可以看作是设计应用程序的构建块。
应用服务层:利用操作系统服务提供的功能,用户可以根据自己的项目需求,让应用实现特定的功能。例如,应用程序可以读取传感器并通过 Wi-Fi 发送数据。
在每一层中,一个模块可以使用来自同一层和每个较低层的模块。
Zephyr 源代码中的模块组织。Kconfig 文件用于管理不同架构和电路板的可变性。- 注意:为清楚起见,仅列出了模块的一个子集。
zephyr生态
Zephyr 构建系统以应用程序为中心,因为应用程序配置和启动构建过程。内核和应用程序使用 Zephyr SDK 工具链编译成一个二进制文件。不过,开发人员也可以使用自己的工具链进行编译。使用CMake构建系统,允许两种不同的格式:
1.Unix Makefiles
2.Ninja
Zephyr 的分布式配置系统的优点之一是将特定于应用程序的内核设置与特定于板的设置分开。在构建时,来自所有层的配置 (Kconfig) 文件被组合成一个内核配置。

二、基于windows10 eclipse 开发环境搭建

1、安装windows choco,管理员模式打开powershell:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

2、关闭全局的确认信息,保证安装其它软件不需要确认。

choco feature enable -n allowGlobalConfirmation

3、安装所依赖的软件包:

choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'
choco install ninja gperf python git dtc-msys2

4、获得zephyr代码及python环境:

在这之前windows应该安装有python3环境。
4.1、安装west

pip3 install -U west

4.2、获取源代码:

cd yourpath
west init zephyrbase
cd zephyrbase
west update

4.3、导出zephyr cmake包:

west zephyr-export

4.4、安装zephyr文件scripts\requirements.txt中依赖的库及程序:

pip3 install -r  yourpath\zephyrproject\zephyr\scripts\requirements.txt

5、安装eclipse plugin:

系统目前安装有ECLIPSE CDT 2022.3版本:
https://builds.zephyrproject.org/eclipse-plugin/
eclipse 安装plugin在这里ec插入图片描述

6、下载外部工具链(GNU ARM TOOL):

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm
该工具链使用GDB时,存在GDB --VERSION需要phhonn27 lib的问题。解决办法是:将python27的lib目录下所有文件放入工具链bin目录:
在这里插入图片描述

7、使用eclipse建立工程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
建立完工程后执行build即可。

8、GD32平台的调试示例

配置如下:
在这里插入图片描述

Open On-Chip Debugger 0.11.0 (2021-11-18) [https://github.com/sysprogs/openocd]
Licensed under GNU GPL v2
libusb1 09e75e98b4d9ea7909e8837b7a3f00dda4589dc3
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Error: unable to find a matching CMSIS-DAP device
出现这个问题的原因是我们没CMSIS-DAP设备。我们采用的是SEGGER JLINK。
在这里插入图片描述
我们需要修改openocd.cfg(BSP目录下ZEPHYR_BASE/boards/arm/gd32f450ve_switch/support/openocd.cfg)
在这里插入图片描述
在这里插入图片描述
注意jlink 的端口是3333
在这里插入图片描述
如果使用开源DAP LINK注意使用如下配置:
在这里插入图片描述

9、menuconfig

进入工程目录 执行west build -b gd32f450ve_switch -t menuconfig
在这里插入图片描述这是由于没有执行环境变量造成的,执行zephyrbase下面的zephyr-env.cmd

在这里插入图片描述
执行west build -b gd32f450ve_switch -t menuconfig
在这里插入图片描述
也可以使用
ninja guiconfig/menuconfig 在build目录下使用

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
你好!要搭建 Zephyr 环境,你可以按照以下步骤进行操作: 1. 首先,确保你的开发环境满足以下要求: - 支持的操作系统:Linux(Ubuntu、Fedora、Debian等)、macOS或Windows。 - 至少8GB的RAM空间。 - 15GB以上的磁盘空间。 2. 安装依赖项: - 在 Linux 上,执行以下命令安装所需的依赖项: ``` sudo apt-get install --no-install-recommends git cmake ninja-build gperf \ ccache dfu-util device-tree-compiler wget \ python3-dev python3-pip python3-setuptools python3-tk python3-wheel xz-utils file \ make gcc gcc-multilib ``` - 在 macOS 上,你可以使用 Homebrew 进行安装: ``` brew tap zephyrproject-rtos/zephyr brew install --HEAD west ``` - 在 Windows 上,安装 WSL(Windows Subsystem for Linux),并在 WSL 中执行上述 Linux 安装命令。 3. 获取 Zephyr 代码: - 执行以下命令克隆 Zephyr 的 Git 仓库: ``` git clone https://github.com/zephyrproject-rtos/zephyr.git ``` 4. 安装 Zephyr 开发工具链: - 执行以下命令安装 west 工具: ``` pip3 install --user -U west ``` - 在 Zephyr 代码目录中执行以下命令初始化 west 工具: ``` west init west update ``` 5. 配置环境变量: - 在 Linux/macOS 上,打开 `~/.bashrc` 或 `~/.zshrc` 文件,添加以下行: ``` export ZEPHYR_TOOLCHAIN_VARIANT=zephyr export ZEPHYR_SDK_INSTALL_DIR=<path_to_zephyr_sdk> export PATH=$PATH:$ZEPHYR_SDK_INSTALL_DIR/zephyr-sdk-<version>/sysroots/x86_64-pokysdk-linux/usr/bin ``` - 在 Windows 上,打开 WSL 的 `~/.bashrc` 文件,添加上述行。 6. 构建和运行示例应用程序: - 进入 Zephyr 代码目录中的 `samples/hello_world` 目录。 - 执行以下命令构建应用程序: ``` west build -b <board_name> ``` - 构建成功后,使用以下命令烧录和运行应用程序: ``` west flash ``` 这样,你就成功搭建了 Zephyr 环境,并运行了一个示例应用程序。你可以根据自己的需求进行进一步的开发和调试。祝你好运!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

如之

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值