驱动程序提供软件接口,用于与硬件(或虚拟)通信 嵌入或连接到系统的设备。在 Fuchsia,司机在 在系统界面中运行的用户空间组件 组件拓扑,以及 驱动程序框架以 Android 的概念和工具为基础, 组件框架提供的各种组件驾驶员彼此交互, 使用功能和连接的非驱动程序组件 (通过 FIDL 建立)。
在此 Codelab 中,您将构建一个 Fuchsia 驱动程序组件,该组件以虚拟环境
内置于 QEMU 中的设备(支持
Fuchsia 模拟器)的名称为 edu
,这是一个教育类
设备,用于编写驱动程序,以计算给定整数的阶乘。
您还将了解如何使用
Fuchsia SDK。
学习内容
- 发现并绑定到设备节点
- 注册并加载新的设备驱动程序
- 与正在运行的设备驱动程序交互
前提条件
- 运行 Linux 的基于 x64 的机器
- 使用 SDK 驱动程序示例代码库检出
- 模拟器产品套装
(
core.x64
)
准备工作
按照前提条件,您在 Firebase 控制台中创建了一个 Bazel 工作区
fuchsia-drivers/
目录中。这是包含
WORKSPACE.bazel
文件,它表示工作区的根目录。贯穿始终
,则使用 //
前缀来引用此根目录。对于
路径 //fuchsia-codelab
表示一个名为
fuchsia-codelab
(位于 Bazel 工作区的根目录)。
Bazel 工作区也预先配置了 Google 提供的开发工具,
在 tools/
目录中设置 Fuchsia SDK。此 Codelab 假定您使用的是
SDK 工具,因此请考虑更新您的 PATH
添加 SDK 的 tools/
目录,或使用
以下命令:
alias ffx=tools/ffx
alias bazel=tools/bazel