Zephyr作为一款开源且极具灵活性与可扩展性的实时操作系统(RTOS),拥有原生的 BLE 协议栈、完整的 Net 协议栈,涵盖 TCP/IP 与应用层协议,具备出色的实时性,支持硬实时任务调度,确保系统响应的确定性延迟,并且内存占用极小。丰富的通信机制、深度集成的电源管理模式等,也进一步提升了其在嵌入式领域的竞争力。
然而,要深入掌握 Zephyr 开发并非一蹴而就之事。为了方便大家顺利踏上 Zephyr 开发之路,我们不断迭代终于有了这份上手学习Zephyr的开发教程资料汇总。这里面涵盖了从 Zephyr 基础知识讲解,到构建系统、设备驱动、线程调度等核心功能剖析,再到丰富的实操示例和AI语音视觉识别应用案例,以及详细的开发环境搭建、获取SDK等全方位的内容。
本文汇总的资料皆已在CSK6大模型语音视觉 AI 开发套件上实现并稳定运行,不仅支持Zephyr原生指令,配套丰富的Zephyr 示例和开发文档方便大家上手学习Zephyr开发,还可以实现丰富AI语音交互、图像识别功能与硬件外设对接,默认配套开箱即玩的 AI 应用示例直接体验和使用Zephyr进行二次开发。开发板硬件详细信息可以参考:https://docs2.listenai.com/x/nTn9kMMCU
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
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
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 定时器来实现定时。
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 进行数据存储、读取、删除和扇区管理。
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 存储中。
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% 的波形。
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
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更新内容说明:https://docs2.listenai.com/x/6A67c81vc
以上就是上手学习Zephyr的开发教程资料汇总,具备Zephyr开发基础,还想给Zephyr开发的设备增加大模型和语音交互能力,例如实操更换大模型、添加优化知识库、自定义流程、控制设备等可以参考 https://docs2.listenai.com/x/Bt46JnBA0