Fuchsia 的驱动程序框架包含一系列库、工具、元数据和组件,支持开发者为 Fuchsia 系统创建、运行、测试和分发驱动程序。驱动程序框架旨在提供稳定的 ABI,使开发者只需编写一次驱动程序,即可将其部署在多个版本的 Fuchsia 平台上。(但是,Fuchsia 的驱动程序框架在不断发展,尚未实现 ABI 稳定性。)
驱动程序框架由驱动程序管理器、驱动程序主机、库、FIDL 接口、Banjo 接口以及一系列针对 Fuchsia 开发驱动程序的指南组成:
- 驱动程序管理器负责管理驱动程序的生命周期,如加载、卸载和注册。此外,它还为驱动程序提供了相互通信以及与 Fuchsia 的 Zircon 内核进行通信的方法。
- 驱动程序主机是在内核中运行的进程,可让驱动程序访问内核资源。
- 驱动程序运行时是一个进程库,有助于通信和事件处理。
- FIDL 接口用于在驱动程序与系统的其余部分之间进行通信。
- [仅限 DFv1] 核心库 (
libdriver
) 提供了一组常用函数,DFv1 驱动程序可用于与驱动程序管理器和驱动程序主机进行交互。 [仅限 DFv1] Banjo 接口用于在驱动程序与驱动程序管理器之间进行通信。
(如需详细了解 DFv1 和 DFv2 之间的差异,请参阅 DFv1 和 DFv2 之间的比较。)
如需详细了解新驱动程序框架 (DFv2) 的这些概念,请参阅基础知识下的驱动程序部分。
目录
从 DFv1 迁移到 DFv2 驱动程序
DFv2 驱动程序开发
- 编写最小 DFv2 驱动程序
- 复合节点
- 驱动程序堆栈性能
- VMO 注册模式
- 特定媒体市场区域
教程
测试
调试
DFv1 驱动程序开发
- Fuchsia 驱动程序开发 (DFv1)
- 构建驱动程序
- 中断
- 平台总线
教程
测试
调试
DFv1 概念
- Fuchsia 驱动程序框架 (DFv1)
设备驱动程序模型
驾驶员专用指南
- 板驱动程序
- 显示驱动程序
- PCI 驱动程序
- 寄存器
- USB 驱动程序
- 输入驱动程序
- SDMMC 驱动程序