第5章 OneOS 设备驱动详解
2026/7/18大约 6 分钟教程章节驱动设备GPIOI2CSPISerial
第5章 OneOS 设备驱动详解
📚 本章导读
学习时长: 约 12-14 小时
难度级别: ⭐⭐⭐⭐☆(中高级)
本章深入介绍 OneOS-Lite 的设备驱动框架,涵盖设备驱动的核心抽象层、统一接口模型以及 33 种常用外设驱动。OneOS 设备驱动框架采用分层架构设计,将所有设备统一抽象 os_device_t 结构体,通过统一的 ops 操作接口实现对设备的访问,屏蔽底层硬件差异,为上层应用提供一致的编程接口。
本章将依次介绍设备驱动框架、GPIO、I2C、Serial、SPI、Touch、Timer、RTC、Watchdog、Sensors、ADC、PWM、DMA、HWCrypto、LPMGR、CAN、FAL、SDIO/MMC、Console、Net、Audio、Camera、Bus、USB、SFlash、EEPROM、MTD、NAND、Block、Infrared、SN、Cache、Boot 三十三种设备类型,帮助你全面掌握 OneOS 下设备驱动的开发与使用方法。
📋 章节内容
| 小节 | 主题 | 难度 | 学习时长 |
|---|---|---|---|
| 5.1 | 设备驱动框架 | ⭐⭐⭐⭐ | 60分钟 |
| 5.2 | GPIO设备 | ⭐⭐⭐ | 40分钟 |
| 5.3 | I2C设备 | ⭐⭐⭐⭐ | 50分钟 |
| 5.4 | Serial设备 | ⭐⭐⭐⭐ | 50分钟 |
| 5.5 | SPI设备 | ⭐⭐⭐⭐ | 50分钟 |
| 5.6 | Touch设备 | ⭐⭐⭐ | 40分钟 |
| 5.7 | Timer设备 | ⭐⭐⭐ | 30分钟 |
| 5.8 | RTC设备 | ⭐⭐ | 20分钟 |
| 5.9 | Watchdog设备 | ⭐⭐ | 20分钟 |
| 5.10 | Sensors设备 | ⭐⭐⭐ | 25分钟 |
| 5.11 | ADC设备 | ⭐⭐⭐ | 30分钟 |
| 5.12 | PWM设备 | ⭐⭐⭐ | 25分钟 |
| 5.13 | DMA设备 | ⭐⭐⭐⭐ | 35分钟 |
| 5.14 | HWCrypto设备 | ⭐⭐⭐⭐ | 40分钟 |
| 5.15 | LPMGR设备 | ⭐⭐⭐⭐ | 40分钟 |
| 5.16 | CAN设备 | ⭐⭐⭐⭐ | 40分钟 |
| 5.17 | FAL Flash抽象层 | ⭐⭐⭐ | 35分钟 |
| 5.18 | SDIO/MMC设备 | ⭐⭐⭐⭐⭐ | 50分钟 |
| 5.19 | Console设备 | ⭐⭐ | 20分钟 |
| 5.20 | Net设备 | ⭐⭐⭐⭐⭐ | 45分钟 |
| 5.21 | Audio设备 | ⭐⭐⭐⭐ | 40分钟 |
| 5.22 | Camera设备 | ⭐⭐⭐⭐ | 40分钟 |
| 5.23 | Bus总线子系统 | ⭐⭐⭐⭐ | 30分钟 |
| 5.24 | USB设备 | ⭐⭐⭐⭐⭐ | 45分钟 |
| 5.25 | SFlash设备 | ⭐⭐⭐⭐ | 35分钟 |
| 5.26 | EEPROM设备 | ⭐⭐⭐ | 25分钟 |
| 5.27 | MTD设备 | ⭐⭐⭐⭐ | 30分钟 |
| 5.28 | NAND设备 | ⭐⭐⭐⭐⭐ | 40分钟 |
| 5.29 | Block设备 | ⭐⭐⭐ | 25分钟 |
| 5.30 | Infrared设备 | ⭐⭐⭐ | 30分钟 |
| 5.31 | SN序列号设备 | ⭐⭐ | 20分钟 |
| 5.32 | Cache设备 | ⭐⭐⭐ | 15分钟 |
| 5.33 | Boot设备 | ⭐⭐⭐ | 20分钟 |
📖 快速导航
5.1 设备驱动框架
5.2 GPIO设备
5.3 I2C设备
5.4 Serial设备
5.5 SPI设备
5.6 Touch设备
5.7 Timer设备
5.8 RTC设备
5.9 Watchdog设备
5.10 Sensors设备
5.11 ADC设备
5.12 PWM设备
5.13 DMA设备
5.14 HWCrypto设备
5.15 LPMGR设备
5.16 CAN设备
5.17 FAL Flash抽象层
5.18 SDIO/MMC设备
5.19 Console设备
5.20 Net设备
5.21 Audio设备
5.22 Camera设备
5.23 Bus总线子系统
5.24 USB设备
5.25 SFlash设备
5.26 EEPROM设备
5.27 MTD设备
5.28 NAND设备
5.29 Block设备
5.30 Infrared设备
5.31 SN序列号设备
5.32 Cache设备
5.33 Boot设备
🎯 学习目标
- 理解 OneOS 设备驱动框架的分层架构与统一抽象模型
- 掌握 os_device_t 核心数据结构及其操作接口
- 掌握设备注册、查找、打开、读写、关闭的完整流程
- 了解设备通知机制与回调机制
- 掌握 GPIO 引脚的模式配置、读写与中断绑定
- 掌握 I2C 总线设备与从设备的读写操作
- 掌握 Serial 设备的配置与数据收发
- 掌握 SPI 总线的数据传输
- 掌握 Touch 设备的事件处理
- 掌握 Timer 设备的定时触发与 PWM 输出
- 掌握 RTC 设备的时间管理与闹钟设置
- 掌握 Watchdog 设备的看门狗配置与喂狗策略
- 掌握 Sensors 传感器框架的数据读取
- 掌握 ADC 设备的使能控制、多通道读取与电压换算
- 掌握 PWM 设备的周期/占空比配置与呼吸灯应用
- 掌握 DMA 设备的环形缓冲区管理与中断回调机制
- 了解 HWCrypto 硬件加密引擎的哈希/对称加密加速
- 掌握 LPMGR 低功耗管理框架的多级睡眠模式与设备挂起/恢复
- 掌握 CAN 总线消息收发、过滤器配置、波特率设置与状态监控
- 掌握 FAL Flash 抽象层的分区表管理、分区读写擦除与 MTD/Block 设备创建
- 理解 SDIO/MMC 协议栈分层架构、Host 控制器注册与卡初始化流程
- 掌握 Console 控制台设备的多终端切换与输出重定向
- 理解 Net 网络设备的数据收发流程与协议栈集成
- 掌握 Audio 音频设备的三层架构、内存池缓冲队列与 I2S 硬件抽象
- 掌握 Camera 摄像头设备的 SAL 传感器抽象层、帧缓冲管理与 NVS 持久化
- 理解 Bus 总线子系统的声明式驱动-设备匹配模型与 probe 机制
- 掌握 USB/TinyUSB 协议栈的 OSAL 集成、CDC/HID 类驱动开发
- 掌握 SFlash SPI Flash 的 SFDP 自动探测与页读写擦除操作
- 理解 EEPROM/MTD/NAND/Block 存储类驱动的分层架构与 FAL 集成
- 掌握 Infrared 红外设备的 NEC 协议解码与状态机接收机制
- 了解 SN 序列号设备的 FAL 分区存储与 Shell 命令交互
- 理解 Cache 缓存设备的 D-Cache 清理/无效化操作与 DMA 一致性
- 了解 Boot 启动设备的向量表配置与芯片启动流程