瑞芯微Rockchip开发者社区
直播中

訾存贵

8年用户 926经验值
私信 关注
[经验]

Firefly Debian根文件系统使用手册指南

Debian 是一个根文件系统,所以只需要将 Firefly 官方提供的固件的 rootfs.img 根文件系统替换成 Debian 根文件系统即可制作 Debian 系统固件。

固件制作

在资源下载页面下载官方固件。

在资源下载页面下载Debian10根文件系统。

替换对应文件,升级固件即可进入 Debian10 系统

系统介绍

软件包

以下软件包已默认安装到 Debian 系统,使用 apt install 安装软件的时候注意不要覆盖掉系统的软件包。

视频硬件编解码支持

RV1126 集成的 VPU 具有优秀的视频编解码能力, MPP 是 Rockchip 为 VPU 提供的一套视频编解码的 api , 并且基于 mpp 。 Rockchip 提供了一套 gstreamer 的编解码插件。用户可以根据自己的需求,基于 gstreamer 来做视频编解码的应用,或者直接调用 mpp ,来实现硬件的编解码加速。

通过以下两种方式,验证和开发视频编解码相关应用。

一、Gstreamer

默认安装 gstreamer1.0

用户可以参照这两个脚本,配置自己的 gstreamer 应用。

二、MPP

Debian 系统下, mpp 相关 deb 包都已经安装到系统中。

更多相关资料,可参考linux-sdk/docs/Linux/Multimedia下的相关文档

源码编译

RKNN_SSD_DEMO

NPU 已经安装到 Debian 系统。测试 NPU 如下: 测试 demo 为 rknn_ssd_demo 。源码路径为 external/rknpu/rknn/rknn_api/examples/rknn_ssd_demo。以下操作均在 RV1126 端执行:

RKMedia

RKMedia 已经适配到 Debian 系统。默认不支持 librtsp 库。

如需自行开发 RKMedia 则 CMakeLists.txt 编译脚本需要添加以下选项:

默认不支持以下 4 个 demo,所以在 rkmedia/example/CMakeLists.txt 需要注释以下 4 个 demo 的编译配置

搭建编译环境

注:在 Debian 编译 RKMedia 会出现找不到头文件的错误,头文件均在/usr/include/目录下,需要根据源码文件需求移动或拷贝头文件的位置。

分区介绍

如果自己定制 Debian10 系统可以阅读此章节修改分区后进行升级。

修改固件目录下的分区表parameter.txt,根据需求修改rootfs分区大小。默认为大小为 2G 。PS:因为 Debian10 下没有跑应用,不需要media分区所以删掉了。

CMDLINE: mtdparts=rk29xxnand:0x00002000@0x00004000(uboot),0x00002000@0x00006000(misc),0x00010000@0x00008000(boot),0x00010000@0x00018000(recovery),0x00010000@0x00028000(backup),0x00400000@0x00038000(rootfs),0x00060000@0x00438000(oem),-@0x00498000(userdata:grow)

分区表格式:分区大小@所在地址(分区名)。最后的-@所在地址(分区名:grow)的 - 代表将剩余的内存大小拓展该分区,该写法只能放在 CMDLINE 最后。 其中大小和地址都是以块为单位( 1 块 = 512byte),换算成 MByte 可以用以下公式:

例如我们看 rootfs 这行: 分区大小是 0x00400000 ,换算成十进制也就是

所以 rootfs 分区大小就是 2048M 。

特别注意:分区大小 + 所在地址 = 下一个分区的所在地址。

原作者:Firefly Wiki

更多回帖

发帖
×
20
完善资料,
赚取积分