本部分中的文档旨在帮助驱动程序开发者使用 Fuchsia 的 驱动程序框架版本 2 (DFv2) 创建 新驱动程序。
操作方法
- **编写最简单的 DFv2 驱动程序**:了解如何 从头开始创建最简单的 DFv2 驱动程序。
- **驱动程序示例**:探索旨在 演示各种 Fuchsia 驱动程序概念的示例驱动程序。
教程
- **创建复合节点** :了解如何使用复合节点规范创建 复合节点。
- 绑定规则教程:了解如何编写绑定规则 以使 DFv2 驱动程序能够发现和匹配设备。
- 绑定库代码生成教程:了解 如何使用绑定库为 DFv2 驱动程序自动生成代码。
- FIDL 教程:了解如何定义 FIDL 协议、 从驱动程序导出这些协议,并在另一个驱动程序中使用它们。
- 元数据教程:了解如何使用 DFv2 中的元数据库将元数据从 一个驱动程序传递到另一个驱动程序。
调试
- 排查 DFv2 驱动程序开发中的常见问题: 了解如何调试和修复 DFv2 驱动程序开发中的常见错误。
- 驱动程序实用程序:了解如何使用驱动程序实用程序与设备通信以进行诊断。
测试
- DriverTestRealm:了解如何使用
DriverTestRealm框架运行驱动程序集成测试。 - 设备枚举测试:了解如何在板上运行设备 枚举测试,以验证完整的驱动程序拓扑集成。
- 测试中的线程提示:了解在驱动程序测试中处理线程的最佳实践,以避免崩溃。
最佳实践
指南
- 驱动程序运行时 API 指南:在驱动程序运行时定义 C API 时,请遵循这些 指南。
- 驱动程序 C++ 评分标准:在 Fuchsia 源代码库中创建 新的 C++ 驱动程序时,请遵循这些规则。
- 驱动程序 Rust 评分标准:在 Fuchsia 源代码库中创建 新的 Rust 驱动程序时,请遵循这些规则。
概念
- DMA(直接内存访问) :了解 DMA 及其在 DFv2 驱动程序开发中的重要性。
- 如需详细了解特定于 DFv2 的概念,请参阅 驱动程序 在 基础知识 部分下。
其他信息
请参阅 SDK 部分下的以下教程:
- Codelab:构建驱动程序:了解如何在 Fuchsia SDK 环境中从头开始创建 DFv2 驱动程序。
- **为驱动程序编写绑定规则**:了解如何编写 Fuchsia SDK 环境中 DFv2 驱动程序的绑定规则。
- 驱动程序单元测试快速入门:了解如何在 Fuchsia SDK 环境中为 DFv2 驱动程序编写单元测试。
- 查看驱动程序信息:了解如何使用
ffx driver命令检索有关驱动程序的信息。