全网最全学习Zephyr开发中文教程资料汇总-从基础文档视频到上手实操示例

Zephyr作为一款开源且极具灵活性与可扩展性的实时操作系统(RTOS),拥有原生的 BLE 协议栈、完整的 Net 协议栈,涵盖 TCP/IP 与应用层协议,具备出色的实时性,支持硬实时任务调度,确保系统响应的确定性延迟,并且内存占用极小。丰富的通信机制、深度集成的电源管理模式等,也进一步提升了其在嵌入式领域的竞争力。

然而,要深入掌握 Zephyr 开发并非一蹴而就之事。为了方便大家顺利踏上 Zephyr 开发之路,我们不断迭代终于有了这份上手学习Zephyr的开发教程资料汇总。这里面涵盖了从 Zephyr 基础知识讲解,到构建系统、设备驱动、线程调度等核心功能剖析,再到丰富的实操示例和AI语音视觉识别应用案例,以及详细的开发环境搭建、获取SDK等全方位的内容。

本文汇总的Zephyr开发中文教程资料皆已在CSK6大模型语音视觉 AI 开发套件上实现并稳定运行,开发板不仅支持Zephyr原生指令,配套丰富的Zephyr 示例和开发文档方便大家上手学习Zephyr开发,还可以实现丰富AI语音交互、图像识别功能与硬件外设对接,默认配套开箱即玩的 AI 应用示例直接体验和使用Zephyr进行二次开发。开发板硬件详细信息可以参考:https://docs2.listenai.com/x/nTn9kMMCU

一、Zephyr 系统开发基础系列文档:

1、初识Zephyr应用:https://docs2.listenai.com/x/OzrMbjCVJ

2、详解Kconfig配置:https://docs2.listenai.com/x/gi3Q0r5YzR

3、详解设备树:https://docs2.listenai.com/x/UI8GUD9AKqY

4、详解Zephyr CMake Package(包):https://docs2.listenai.com/x/TsqlOqvP1ca

5、详解构建系统(CMake):https://docs2.listenai.com/x/TTSDdJKObWI

6、模块详解:https://docs2.listenai.com/x/o-lRyozO_5w

二、Zephyr 系统开发视频合集:

1、【初识Zephyr?看这个就够了!】

https://www.bilibili.com/video/BV1Vg4y1p72X/?share_source=copy_web

2、【Zephyr设备树保姆级上手教程【上】】

https://www.bilibili.com/video/BV1q44y1R7hV/?share_source=copy_web

3、【Zephyr设备树保姆级上手教程【下】】

https://www.bilibili.com/video/BV1Kg411t7Zi/?share_source=copy_web

4、【Zephyr配置系统(Kconfig)保姆级上手教程】

https://www.bilibili.com/video/BV1yo4y1V7bU/?share_source=copy_web

5、【Zephyr触摸屏驱动实现教程】

https://www.bilibili.com/video/BV1a24y1e786/?share_source=copy_web

6、【Zephyr LVGL 应用开发教程】

https://www.bilibili.com/video/BV19D4y1p7Dm/?share_source=copy_web

7、【基于Zephyr网络功能构建的WIFI&BLE无线芯片集成方案】 https://www.bilibili.com/video/BV1ku4y1U7bq/?share_source=copy_web

三、Zephyr 外设对接示例:

1、ADC示例 https://docs2.listenai.com/x/TwC7nNf_R

演示使用 adc 读取模拟信号。通过采集 gpio-b8,gpio-b9 三个通道的模拟信号,然后将其转换为数字信号并通过串口打印出来。

2、counter示例 https://docs2.listenai.com/x/CFHvQ17bS

演示使用 RTC 定时器来实现定时,1s后获取定时器计数,设置闹钟为10s后触发回调。

3、GPIO示例 https://docs2.listenai.com/x/vnB7oOkJl

控制 gpio-a1 引脚,每1s翻转一次,通过示波器可以看到翻转的波形。

4、SPI示例 https://docs2.listenai.com/x/9BY4T1kyZ

使用芯片上的一组 SPI 引脚往外发送数据,可通过示波器或者逻辑分析仪去抓取 spi 数据。

5、UART示例 https://docs2.listenai.com/x/jRA3XmyO0

简单的 async 示例,需将 UART1 的 TX 与 RX 进行连接。

6、UART示例 https://docs2.listenai.com/x/jRA3XmyO0

演示串口配置的动态切换。

7、UART示例 https://docs2.listenai.com/x/jRA3XmyO0

演示中断模式下串口1和串口2互相发送数据。

8、UART示例 https://docs2.listenai.com/x/jRA3XmyO0

演示如何使用 MCU 的 i2c 通信功能,通过 i2c 控制器向从设备的寄存器地址写数据和读数据。

9、I2C示例 https://docs2.listenai.com/x/xIDcBO60g

演示通过 i2c 控制器向从设备的寄存器读写数据。

10、I2C示例 https://docs2.listenai.com/x/-leZI8lp9

使用 MCU 的虚拟 i2c 从机通信功能。

11、WatchDog示例 https://docs2.listenai.com/x/-Lt9pbaae

演示使用看门狗中断进行喂狗。

12、PWM示例 https://docs2.listenai.com/x/MgQrrqXC8

演示如何配置 PWM 功能并输出 PWM 波形。

13、SDMMC示例 https://docs2.listenai.com/x/-l6GqllEJ

演示往 SD 卡读写数据。

14、Flash示例 https://docs2.listenai.com/x/koa7RjZty

演示 norflash 的读写。

15、DVP示例 https://docs2.listenai.com/x/NwcaPomf0

使用视频设备驱动接口来配置和捕获摄像头数据流,基于 DVP 接口,使用 gc0328 摄像头

16、外部中断示例 https://docs2.listenai.com/x/qbBQs66Uc

演示通过按键 K3 触发外部中断控制输出串口信息。

17、屏显与触摸示例 https://docs2.listenai.com/x/QCa_477Un

演示在屏幕上显示图形,并通过日志输出响应触摸按键事件。

28、屏幕触摸示例 https://docs2.listenai.com/x/GBvV1dMGZ

演示如何使用的按键扫描 (kscan) API 与触摸屏 (ft5336) 进行交互。

19、硬件信息检测示例 https://docs2.listenai.com/x/a1xFaWdJh

如何获取设备的唯一标识符和芯片类型。

20、Dual&GPT 定时器示例 https://docs2.listenai.com/x/stodLuEY1

演示使用 dual_timer 和 gpt 定时器来实现定时。

四、Zephyr 系统服务示例

1、录音示例 https://docs2.listenai.com/x/qNZl1sNhL

演示使用芯片的 audioADC 进行录音并通过 USB 传输录音数据。

2、播放器示例 https://docs2.listenai.com/x/HNBZ1hBv5

演示使用芯片进行 mp3 音频文件的播放。

3、DMA示例 https://docs2.listenai.com/x/76ln7lN_S

演示如何使用 Zephyr RTOS 的 DMA 功能进行高效的内存拷贝。

4、加密示例 https://docs2.listenai.com/x/4_oMyWyV0

演示使用 AES-128 CBC 模式进行加密和解密的示例操作。

5、加密示例 https://docs2.listenai.com/x/EMjW9ipy_

演示使用 AES-128 CBC 模式进行加密和解密的示例操作。

6、加密示例 https://docs2.listenai.com/x/GYklFJTkc

演示使用 SHA-256 算法对输入数据进行哈希处理,并验证计算结果是否正确。

7、随机数生成示例 https://docs2.listenai.com/x/0IkPWTxb4

演示如何生成随机数。

8、LVGL示例 https://docs2.listenai.com/x/INQiHi5Tr

演示 LVGL 示例的实现。

9、文件系统示例 https://docs2.listenai.com/x/FY6AmFzv7

演示如何使用 Zephyr 的文件系统 API 与 littlefs 文件系统进行交互。

10、NVS 示例 https://docs2.listenai.com/x/YKUhH8zyA

演示如何在 Zephyr 操作系统中使用 NVS 进行数据存储、读取、删除和扇区管理。

五、Zephyr 网络示例

1、http示例 https://docs2.listenai.com/x/nKuN-Yhft

演示连接上 wifi 后进行 http 请求的实现

2、ota示例 https://docs2.listenai.com/x/UUxpb3VMr

演示连接 wifi 后进行 http 请求 ota,实现 http ota 固件升级

3、wifi_mgr示例 https://docs2.listenai.com/x/wQ30YdghL

演示如何使用 wifi 管理器扫描相邻的 AP 设备并自动连接到 wifi AP 作为站设备,并将连接的 AP 信息保存到 wifi NVS 存储中。

六、Zephyr 扩展IC(CH-32)使用示例

1、adc示例 https://docs2.listenai.com/x/EA3UEnbs5

演示如何调用 adc 接口来实现扩展 MCU 的 ADC 功能。运行该应用后,会间隔采集EXT_PA2引脚上的电压,并通过日志输出。

2、gpio示例 https://docs2.listenai.com/x/jj3tsoGmz

使用扩展 MCU 的 io 来闪烁 LED。展示了如何将 GPIO 引脚配置为输出,然后打开和关闭它们,控制开发板上的的三色灯进行闪烁。

3、pwm示例 https://docs2.listenai.com/x/o5dpKTP3L

演示如何使用扩展 MCU 的 PWM 功能。运行该代码后, 会在开发板的 EXT_PD2 引脚输出频率为1HZ,占空比为 50% 的波形。

七、Zephyr AI语音视觉开发示例

  1. 大模型语音交互 :https://docs2.listenai.com/x/JyN_IVVnW
  2. 人脸识别:https://docs2.listenai.com/x/83Lrta8qh
  3. 坐姿检测:https://docs2.listenai.com/x/5-yoRhvrM
  4. 头肩&手势识别:https://docs2.listenai.com/x/hIiI9-a-w
  5. 字母拼读:https://docs2.listenai.com/x/B58_OnaRC
  6. 物体分类:https://docs2.listenai.com/x/4vgeKMRNi
  7. 英文评测:https://docs2.listenai.com/x/uQ6yNsrBs
  8. 英译中:https://docs2.listenai.com/x/Cd9jrAVVD
  9. 语音合成:https://docs2.listenai.com/x/dYSX5kz1q
  10. 鼾声检测:https://docs2.listenai.com/x/bY6kbqmaY

八、Zephyr开发环境安装和SDK获取

  1. 环境安装:https://docs2.listenai.com/x/ZgVUIzY6M
  2. 获取SDK:https://docs2.listenai.com/x/GvIW8tsaE
  3. SDK 更新方法:https://docs2.listenai.com/x/IvhstDJzn
  4. SDK更新内容说明:SDK更新内容说明 | 聆思文档中心

更多资料

以上就是上手学习Zephyr的开发教程资料汇总,具备Zephyr开发基础,还想给Zephyr开发的设备增加大模型和语音交互能力,例如实操更换大模型、添加优化知识库、自定义流程、控制设备等可以参考 https://docs2.listenai.com/x/Bt46JnBA0

你可能感兴趣的:(Zephyr保姆级上手教程,zephyr,AIGC,多模态,嵌入式硬件,iot,硬件工程,驱动开发)