推动因素

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 驱动程序开发

DFv1 驱动程序开发

DFv1 概念

驾驶员专用指南

其他