01_zephyr简介及安装环境

简介

Zephyr 支持多种架构的连接、资源受限和嵌入式设备。Zephyr 包括一个内核,以及开发完整应用软件所需的所有组件和库、设备驱动程序、协议栈(IPv4 和 IPv6、受限应用协议 (CoAP)、LwM2M、MQTT、802.15.4、Thread、低功耗蓝牙、CAN)、文件系统(一个虚拟文件系统接口,具有多个闪存文件系统,用于非易失性存储(FatFs、LittleFS、NVS))和固件更新。

学习目标

学习内核的部分实现思路
尝试利用zephyr提供的丰富组件构建项目(如健身可穿戴设备、智能手表和物联网无线网关)

配置工具

Kconfig
devicetree
Cmake

内核特点

单个地址空间
多种调度算法
高度可配置和模块化,灵活性高,在编译时定义资源
基于内存保护单元 (MPU) 的保护
非对称多处理 (AMP,基于 OpenAMP) 和对称多处理 (SMP) 支持

安装环境

https://docs.zephyrproject.org/latest/develop/getting_started/index.html
流程主要基于官方文档,另外,需要重新安装新版本的cmake和python。
每次使用之前需要进入虚拟环境:
source ~/zephyrproject/.venv/bin/activate

安装cmake

wget https://cmake.org/files/v3.30/cmake-3.30.0-linux-x86_64.sh
sudo bash cmake-3.30.0-linux-x86_64.sh --skip-license --prefix=/usr

安装python3.11及设置优先级

ls -l /usr/bin/python*
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 2
update-alternatives --config python3
python3 --version

恢复pip

sudo apt install python3.11-distutils
运行hello_world测试
west build -b qemu_x86 samples/hello_world
west build -t run

扩展:常用west指令

West

  • b :等同于 --board,编译的开发板类型
  • -d :等同于 --build-dir,编译生成的存放文件的目录
  • -p :等同于 --pristine,清除老的生成文件
  • -c :等同于 --cmake,重新编译
  • -t :等同于 --target,其他功能

命令行界面:

west build -t menuconfig

查看 RAM/ROM 占用:

west build -t ram_report 查看 RAM 占用
west build -t rom_report 查看 ROM 占用

烧录文件

west flash, 调用 flash.py,而 flash.py 会调用 run_common.py 这个脚本,该脚本会读取 runners.yaml 文件。
而runners.yaml 是根据板级的配置信息生成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值