Fuchsia 的驱动程序框架是一系列库、工具、元数据和 可让开发者创建、运行、测试和分发 紫红色系统。驱动程序框架旨在提供稳定的 ABI,支持 只需编写一次驱动程序,即可部署到多个版本的 Fuchsia 上 平台。(但是,Fuchsia 的驱动程序框架一直在发展, 已实现 ABI 稳定性。)
驱动程序框架由驱动程序管理器、驱动程序主机、库、 FIDL 接口、Banjo 接口以及一系列驱动程序开发准则 Fuchsia 办事处 :
- 驾驶管理器负责管理驾驶员的生命周期, 例如加载、卸载和注册。它还为驾驶员 相互通信以及与 Fuchsia 的 Zircon 内核进行通信。
- 驱动程序主机是在内核中运行的进程,可让驱动程序 访问内核资源。
- 驱动程序运行时是一个进程内库,可促进通信 和事件处理
- FIDL 接口用于在驱动程序和 系统。
- [仅限 DFv1] 核心库 (
libdriver
) 提供了一组常用函数 DFv1 驱动程序可以使用它与驱动程序管理器和驱动程序主机进行交互。 [仅限 DFv1] Banjo 接口用于驱动程序之间的通信 和驱动程序管理器。
(要详细了解 DFv1 和 DFv2 之间的区别,请参见 DFv1 和 DFv2 之间的比较。)
如需详细了解新驱动程序框架 (DFv2) 的这些概念,请参阅 基础知识下的推动因素部分。
目录
从 DFv1 驱动程序迁移到 DFv2 驱动程序
DFv2 驱动程序开发
DFv1 驱动程序开发
- Fuchsia 驱动程序开发 (DFv1)
- 构建驱动程序
- 打扰
- 平台总线
教程
测试
调试
DFv1 概念
- Fuchsia 驱动程序框架 (DFv1)
设备驱动程序型号
特定于驱动程序的指南
- 板驱动程序
<ph type="x-smartling-placeholder">
- </ph>
- GPIO 初始化
- 显示器驱动程序
<ph type="x-smartling-placeholder">
- </ph>
- 如何编写显示驱动程序
- 修改板驱动程序
- 显示控制器有什么用途?
- PCI 驱动程序
<ph type="x-smartling-placeholder">
- </ph>
- 配置
- 寄存器
<ph type="x-smartling-placeholder">
- </ph>
- 寄存器概览
- USB 驱动程序 <ph type="x-smartling-placeholder">
- 输入驱动程序
<ph type="x-smartling-placeholder">
- </ph>
- Fuchsia 输入驱动程序
- 输入报告阅读器库
- SDMMC 驱动程序
<ph type="x-smartling-placeholder">
- </ph>
- SDMMC 驱动程序架构