本頁包含用於示範 Fuchsia 驅動程式庫概念的範例。
基本範例
以下為常見的駕駛概念範例:
架構驅動程式 - 基本架構驅動程式範例是以 DFv2 編寫的最低驅動程式庫。
範本驅動程式:範本驅動程式是以 DFv2 編寫的最小驅動程式庫,並以 SDK 規則建構,可用於 Fuchsia 來源結帳和 Fuchsia SDK 環境。
簡易驅動程式 - 簡易的驅動程式範例說明如何以下列常見模式編寫 DFv1 驅動程式和 DFv2 驅動程式:
- 新增記錄檔
- 新增子節點
- 實作停止函式
- 設定 Compat 裝置伺服器
中繼資料:中繼資料範例示範如何定義中繼資料類型,以及如何將中繼資料從驅動程式庫傳遞至其子項。
傳輸範例
這些例子呈現駕駛人之間的溝通互動:
Banjo - 這些範例說明提供 Banjo 傳輸服務的父項驅動程式庫,以及一個可連結及查詢資料的子項驅動程式庫。
Zircon 傳輸 - 這些範例說明透過 Zircon 傳輸提供 FIDL 通訊協定的父項驅動程式庫,以及一個連結及查詢其資料的子項驅動程式庫。
駕駛傳輸:這些範例說明透過驅動程式庫傳輸 FIDL 通訊協定的父項驅動程式,以及連結及查詢其資料的子項驅動程式庫程式。
繫結範例
這些範例示範如何為驅動程式編寫及使用繫結程式庫:
繫結程式庫:這個範例示範如何編寫繫結程式庫。
Bind 程式庫 Codegen:這個範例示範如何使用透過繫結程式庫產生的 C++ 和 Rust 常數。
FIDL 繫結程式庫 codegen:這個範例示範如何編寫繫結程式庫。
測試範例
這些範例為駕駛人撰寫單元和整合測試。
單元測試
單元測試範例:
- 簡易驅動程式 - 簡易驅動程式庫範例的 Barebones 單元測試
- Banjo 傳輸 - 確認子項驅動程式庫可透過假的 Banjo 伺服器查詢的單元測試
- Zircon 傳輸 - 驗證子項驅動程式庫可從假 FIDL Zircon 伺服器查詢的單元測試
- 駕駛人傳輸 - 驗證子項驅動程式庫可透過假 FIDL 驅動程式庫伺服器進行查詢的單元測試
整合測試
驅動程式測試運作範圍範例說明如何為驅動程式庫編寫密封和非密封的整合測試。