本指南提供了相关指南、最佳实践、示例和参考文档
帮助您迁移基于 DFv1 的现有驱动程序,
存储在 Fuchsia 源代码树 (fuchsia.git
) 中,
新版驱动程序框架 (DFv2)。
前期准备
DFv2 使 Fuchsia 驱动程序能够完全占用用户空间 组件。与任何其他 Fuchsia 组件一样,DFv2 驱动程序 公开和从其他组件接收 FIDL 功能 和驱动程序。
请注意 DFv1 和 DFv2 之间的以下主要区别:
DFv1:驱动程序不是组件。Banjo 协议 用于驾驶员之间的通信。驱动程序主机接口或 DDK(驱动程序开发套件)封装容器用于管理生命周期 。
DFv2:驱动程序是组件。FIDL 用于所有通信, 包括驾驶员和非驾驶员之间的通信。驾驶员 框架管理驱动程序的生命周期。(有关详情, 请参阅 DFv1 和 DFv2 的比较)。
驾驶员在完成测试后会遇到哪些情况 迁移到 DFv2:
- 可以使用驱动程序管理器注册该驱动程序。
- 驱动程序可以绑定到系统中的设备节点。
- Fuchsia 组件和驱动程序可以使用驱动程序的功能。
- 可以使用包含驱动程序的产品映像刷写 Fuchsia 设备。
- 驱动程序的所有单元测试和集成测试都会通过。
在开始迁移驱动程序之前,请先熟悉 驱动程序的单元测试和集成测试
驱动程序迁移的两个阶段
当您准备好将 DFv1 驱动程序迁移到 DFv2 后,本指南可以 以线性方式帮助您完成迁移任务。但请注意 根据驾驶员的功能或设置,您可能需要 处理本指南中未涵盖的其他任务。
驱动程序从 DFv1 迁移到 DFv2 可分为两个阶段:
扩展程序
我们添加了以下指南,用于支持以前需要完成的任务 迁移指南中发现缺少以下项的信息: