Codelab:QEMU edu 驱动程序

驱动程序提供软件接口,用于与硬件(或虚拟)通信 嵌入或连接到系统的设备。在 Fuchsia 中,驱动程序是系统组件拓扑中运行的用户空间组件驱动程序框架基于组件框架提供的概念和工具构建而成。驱动程序使用功能和通过 FIDL 建立的连接与其他驱动程序组件以及非驱动程序组件进行交互。

在此 Codelab 中,您将构建一个 Fuchsia 驱动程序组件,以内置于 QEMUFuchsia 模拟器的基础)中的名为 edu 的虚拟设备为目标平台。edu 是一个教育设备,用于编写计算给定整数阶乘的驱动程序。您还将了解如何使用 Fuchsia SDK。

学习内容

  • 发现并绑定到设备节点
  • 注册并加载新的设备驱动程序
  • 与正在运行的设备驱动程序交互

前提条件

准备工作

在前提条件部分,您在 fuchsia-drivers/ 目录中创建了一个 Bazel 工作区。这是包含 WORKSPACE.bazel 文件,它表示工作区的根目录。贯穿始终 则使用 // 前缀来引用此根目录。对于 路径 //fuchsia-codelab 表示一个名为 fuchsia-codelab(位于 Bazel 工作区的根目录)。

Bazel 工作区还预配置了 Fuchsia SDK 在 tools/ 目录中提供的开发工具。此 Codelab 假定您使用的是 SDK 工具,因此请考虑更新您的 PATH 添加 SDK 的 tools/ 目录,或使用 以下命令:

alias ffx=tools/ffx
alias bazel=tools/bazel