本節說明文件旨在協助驅動程式庫開發人員使用 Fuchsia 的驅動程式架構第 2 版 (DFv2) 建立新驅動程式。
How-to
- 編寫最簡單的 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」部分中的下列教學課程:
- 程式碼研究室:建構驅動程式:瞭解如何在 Fuchsia SDK 環境中從頭建立 DFv2 驅動程式庫。
- 為驅動程式編寫繫結規則:瞭解如何在 Fuchsia SDK 環境中,為 DFv2 驅動程式編寫繫結規則。
- 驅動程式單元測試快速入門:瞭解如何在 Fuchsia SDK 環境中,為 DFv2 驅動程式編寫單元測試。
- 查看驅動程式庫資訊:瞭解如何使用
ffx driver指令擷取駕駛人資訊。