驅動程式可提供軟體介面,以便與硬體 (或虛擬) 通訊 裝置內嵌入或連接到系統的裝置在 Fuchsia 中,驅動程式是執行在系統元件拓樸中的使用者空間元件,而驅動程式架構則是建構在元件架構提供的概念和工具之上。驅動程式會使用透過 FIDL 建立的功能和連線,與其他驅動程式和非驅動程式元件互動。
在本程式碼研究室中,您將建構一個 Fuchsia 驅動程式元件,其目標是 QEMU 中內建的虛擬裝置 (該裝置支援 Fuchsia 模擬器),名為 edu
,這是用於編寫驅動程式的教育用裝置,可計算給定整數的階乘。您也會探討如何使用
Fuchsia SDK 規格。
課程內容
- 探索裝置節點並繫結至裝置節點
- 註冊及載入新的裝置驅動程式庫
- 與執行中的裝置驅動程式庫互動
必要條件
- 執行 Linux 的 x64 型電腦
- 使用 SDK 驅動程式庫範例存放區結帳
- 模擬器產品套裝組合
(適用於
core.x64
)
事前準備
根據先決條件,您在 Bazel 工作區
fuchsia-drivers/
目錄內。這是含有 WORKSPACE.bazel
檔案的目錄,代表工作區的根目錄。在整個程式碼研究室中,這個根目錄會使用 //
前置字串來參照。適用對象
例如,路徑 //fuchsia-codelab
代表名為
fuchsia-codelab
位於 Bazel 工作區的根目錄。
Bazel 工作區也會透過
tools/
目錄中的 Fuchsia SDK。本程式碼研究室假設您使用的是
從 Bazel 工作區內安裝 SDK 工具,因此建議您更新 PATH
加入 SDK 的 tools/
目錄,或使用
以下指令:
alias ffx=tools/ffx
alias bazel=tools/bazel