Zephyr RTOS开发环境搭建

前言

  • 在当今快速发展的物联网(IoT)领域,实时操作系统(RTOS)在嵌入式开发中的作用越来越重要。Zephyr 是一个功能强大且开源的实时操作系统,专为资源受限的设备设计,提供了高效、可扩展的解决方案。它支持广泛的硬件平台,并且具有灵活的配置选项,适用于从简单的传感器节点到复杂的智能设备等各种应用。
  • 在实际进行嵌入式系统开发时,开发人员需要一个完善的开发环境。这不仅能帮助加速开发过程,还能确保高质量的代码和系统性能。搭建一个高效的 Zephyr 开发环境可以简化代码编写、测试和调试过程,使开发人员能够专注于创新和优化。
  • 本文将介绍如何搭建一个 Zephyr 开发环境,从环境配置到工具安装,确保可以顺利启动和管理 Zephyr 项目。

准备

获取依赖工具

工具最低版本
cmake3.20.0
Python3.8
dtc1.4.6
sudo apt update
sudo apt upgrade
 
wget https://apt.kitware.com/kitware-archive.sh
sudo bash kitware-archive.sh
 
sudo apt 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 g++-multilib libsdl2-dev libmagic1
 
cmake --version
python3 --version
dtc --version

若 Python 版本低于3.8,更新软件包列表,并且安装依赖包

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.8
 
python3.8 --version

获取 Zephyr 并安装 Python 依赖项

  • apt 安装 Pythonvenv 包
sudo apt install python3.8-venv
  • 创建一个新的虚拟环境
python3.8 -m venv ~/zephyrproject/.venv
  • 激活虚拟环境,激活后,shell 将以(.venv)为前缀; 可以通过 deactivate 随时停用虚拟环境
source ~/zephyrproject/.venv/bin/activate
  • 更新 pip
pip install --upgrade pip
  • 安装 west
pip install west
  • 获取 Zephyr 源代码
west init ~/zephyrproject
cd ~/zephyrproject
west update
  • 导出 Zephyr CMake 包,这允许 CMake 自动加载构建 Zephyr 应用程序所需的样板代码
west zephyr-export
  • 安装 Zephyr 的额外的 Python 依赖项
pip install -r ~/zephyrproject/zephyr/scripts/requirements.txt
#若 west update  时出现类似报错,只要不是关键仓库下载失败,可以忽略
#ERROR: update failed for projects: hal_renesas, hal_telink, hal_wurthelektronik, liblc3, loramac-node, picolibc, #trusted-firmware-a, uoscore-uedhoc, zcbor

#若 west zephyr-export 导出失败,选择不通过 west 导出,如我的目录 (.venv) chenqinhu@chenqinhu:~/zephyrproject$
sudo cmake -P zephyr/share/zephyr-package/cmake/zephyr_export.cmake
sudo cmake -P zephyr/share/zephyrunittest-package/cmake/zephyr_export.cmake
  • 下载并验证最新的 Zephyr SDK 包
cd ~
wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.15.1/zephyr-sdk-0.15.1_linux-x86_64.tar.gz
wget -O - https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.15.1/sha256.sum | shasum --check --ignore-missing
  • 在 /usr/local 下提取 Zephyr SDK 包存档
tar xvf zephyr-sdk-0.15.1_linux-x86_64.tar.gz

生成的安装路径将为 $/usr/local/zephyr-sdk-0.15.1.

  • 运行 Zephyr SDK 包设置脚本
cd /usr/local/zephyr-sdk-0.15.1
./setup.sh
  • 安装udev规则,它允许您以普通用户的身份刷写大多数 Zephyr 板
sudo cp ~/zephyr-sdk-0.15.1/sysroots/x86_64-pokysdk-linux/usr/share/openocd/contrib/60-openocd.rules /etc/udev/rules.d
sudo udevadm control --reload

构建示例

  • 找一块 west boards blinky 示例支持的板,如我的板 nucleo_g474re
cd ~/zephyrproject/zephyr
west build -p always -b nucleo_g474re samples/basic/blinky
west flash
  • 如果不确定板子是否支持 blinky 示例,运行 hello_world 示例
west build -p always -b nucleo_g474re samples/hello_world
  • 通过 minicom 串口助手观察输出

安装 minicom,相关使用可看这里 Linux笔记:串口通讯工具minicom基础使用

sudo apt install minicom
  • 打开串口助手
sudo minicom -D /dev/ttyACM0 -b 115200

在这里插入图片描述
到此就成功搭建 zephyr 的开发环境了

查看芯片厂商提供的示例

  • zephyr/samples 目录下有各种厂商对自加芯片提供的示例,可以参考这里面的示例,逐渐在 zephyr 上开发自己的项目功能。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值