fuchsia固件开发


#Device Firmware

设备固件是二进制blob,包含由硬件设备执行的代码。二进制blob在驱动程序的命名空间中可用于加载。

设备固件存储在CIPD中(Chrome Infrastructure Package Deployment)并在Google Storage中镜像备份。

## 在你开始之前

确保CIPD可用。 cipd必须在PATH中或`zircon/../buildtools/cipd`之一。

buildtools存储库可用
[这里](https://fuchsia.googlesource.com/buildtools/)。

##创建固件包

要创建固件包,请创建包含以下内容的目录
文件:

*一个或多个固件文件
*许可证文件
* [README.fuchsia](https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/source_code/README.fuchsia.md)

README.fuchsia必须至少包含以下指令:

*`姓名`
*`版本`
*`上游Git`
*`许可证`
*`许可文件`

如果这是您第一次从主机系统上传到CIPD,
使用CIPD进行身份验证:

```
cipd auth-login
```

使用以下命令在CIPD中上载并标记包:

```
cipd create -in <package-directory> -install-mode copy \
    -name <package-name> \
    -tag git_repository:<source-git-repositry> \
    -tag git_revision:<source-git-revision>
```

`package-name`的格式为`fuchsia/firmware/<name>`。

`<name>`应该是一个标识固件的字符串。它可能包含任何非空白字符。识别将要以名字方式使用固件的驱动程序是有帮助的。

完成此步骤后,程序包将上载到CIPD。检查
[CIPD browser here](https://chrome-infra-packages.appspot.com/#/?path=fuchsia/firmware)
对于'fuchsia/firmware`下的包。

##将固件包添加到构建中

在`prebuilt/zircon.ensure`中添加以下条目:

```
@Subdir firmware/<name>
<package-name> git_revision:<source-git-revision>
```

其中`<name>`,`<package-name>`和`<source-git-revision>`匹配传递给上面的`cipd create`的值。该软件包将被下载到`@Subdir`在`prebuilt`下指定的路径,即
`prebuilt/firmware/<name>`。

接下来,使用以下命令更新`prebuilt/zircon.versions`:

```
scripts/download-prebuilt --resolve
```

将此更改上传到Gerrit并将其发送到CQ。固件包将可以通过`scripts/download-prebuilt`以及工具链和QEMU下载。

##使用驱动程序中的固件包

将以下行添加到驱动程序的`rules.mk`中:

```
MODULE_FIRMWARE := <name>/<path-to-binary-blob>
```

这会将固件安装到bootfs下
`/boot/lib/firmware/$(basename $(MODULE_FIRMWARE))`.

`load_firmware()`API,在[`driver.h`](../../system/ulib/ddk/include/ddk/driver.h)加载VMO中路径指向的固件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值