rk3568 rockit编译测试

VIPrk3568 rockit编译测试
编译rockit不能使用SDK默认编译kernel的交叉编译,需要采用编译buildroot的,而编译buildroot的编译器SDK并没有存放,需要编译过buildroot之后才可以用。命令参数相关解析可查阅代码,这里提醒一下-l参数,这是程序运行计数,默认是100,时间很短,基本上显示画面一闪而过,一度以为是程序哪里出问题了,改用-l 1000,画面显示时间加长。此处跳过系统,单领出来编译。rockit组件包在4.10版本需要手动编译,奈何我的版本怎么都编译不了,后来改用5.10版本才编译通过。
开通可读全文 ·4.1k 人阅读
最低0.47元/天 解锁文章

前言

环境介绍:

1.编译环境

Ubuntu 20.04.6 LTS

2.SDK版本

rk3568_linux_5.10

3.单板

迅为itop-3568开发板


一、编译rockit组件包

rockit组件包在4.10版本需要手动编译,奈何我的版本怎么都编译不了,后来改用5.10版本才编译通过。
4.10版本报错信息

undefined reference to ... @GLIBCXX_3.35

改用5.10版本编译buildroot,需要将虚拟机内存调整到8GB以上,因为默认编译采用多线程,导致内存不足出现个别包无法编译导致固件无法编译完成。
rockit组件包在5.10版本在编译buildroot系统的时候是自动编译的,并且会安装到编译的系统里面。固件烧录后在单板直接测试即可。此处跳过系统,单领出来编译。
系统编译完成后存放默认路径

/home/zfeng/rk3568_linux_5.10/buildroot/output/rockchip_rk3568/build/rockit/

进入原来SDK组件存放路径

zfeng@ubuntu:~$ cd  /home/zfeng/rk3568_linux_5.10/external/rockit/
zfeng@ubuntu:~/rk3568_linux_5.10/external/rockit$ ls
CMakeLists.txt  lib  mpi  README.md  tgi

rockit采用cmake,我们需要指定交叉编译器路径
编译rockit不能使用SDK默认编译kernel的交叉编译,需要采用编译buildroot的,而编译buildroot的编译器SDK并没有存放,需要编译过buildroot之后才可以用。
buildroot编译器路径为

/home/zfeng/rk3568_linux_5.10/buildroot/output/rockchip_rk3568/host/share/buildroot/bin/aarch64-buildroot-linux-gnu-gcc

在rockit里面新建toolchainfile.cmake,添加下面内容,指定cmake交叉编译器

# Example toolchain.cmake content
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR aarch64)

# 指定交叉编译器路径
string(REPLACE "/share/buildroot" "" RELOCATED_HOST_DIR /home/zfeng/rk3568_linux_5.10/buildroot/output/rockchip_rk3568/host/share/buildroot/)

set(CMAKE_C_COMPILER "${RELOCATED_HOST_DIR}/bin/aarch64-buildroot-linux-gnu-gcc")
set(CMAKE_CXX_COMPILER "${RELOCATED_HOST_DIR}/bin/aarch64-buildroot-linux-gnu-g++")

# 设置目标系统根目录
set(CMAKE_FIND_ROOT_PATH /home/zfeng/rk3568_linux_5.10/buildroot/output/rockchip_rk3568/target/)

# 配置 CMake 查找程序和库文件的方式
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

新建build文件夹

zfeng@ubuntu:~/rk3568_linux_5.10/external/rockit$ mkdir build
zfeng@ubuntu:~/rk3568_linux_5.10/external/rockit$ ls
build  CMakeLists.txt  lib  mpi  README.md  tgi  toolchainfile.cmake

进入build文件夹,执行cmake … -DCMAKE_TOOLCHAIN_FILE=…/toolchainfile.cmake

zfeng@ubuntu:~/rk3568_linux_5.10/external/rockit$ cd build/
zfeng@ubuntu:~/rk3568_linux_5.10/external/rockit/build$ cmake .. -DCMAKE_TOOLCHAIN_FILE=../toolchainfile.cmake

等命令执行完再执行make即可

zfeng@ubuntu:~/rk3568_linux_5.10/external/rockit$ cd build/
zfeng@ubuntu:~/rk3568_linux_5.10/external/rockit/build$ cmake .. -DCMAKE_TOOLCHAIN_FILE=../toolchainfile.cmake^C
zfeng@ubuntu:~/rk3568_linux_5.10/external/rockit/build$ ls
CMakeCache.txt  CMakeFiles  cmake_install.cmake  compile_commands.json  Makefile  mpi  tgi
zfeng@ubuntu:~/rk3568_linux_5.10/external/rockit/build$ make
[ 30%] Built target rt_test_comm
[ 34%] Built target rk_mpi_ao_test
[ 38%] Built target rk_mpi_adec_test
[ 41%] Built target rk_mpi_vpss_test
[ 45%] Built target rk_mpi_vgs_test
[ 49%] Built target rk_mpi_mb_test
[ 52%] Built target rk_mpi_sys_test
[ 56%] Built target rk_mpi_vdec_test
[ 60%] Built target rk_mpi_all_test
[ 63%] Built target rk_mpi_venc_test
[ 67%] Built target rk_mpi_tde_test
[ 70%] Built target rk_mpi_ai_test
[ 74%] Built target rk_mpi_rgn_test
[ 78%] Built target rk_mpi_vo_test
[ 81%] Built target rk_mpi_aenc_test
[ 85%] Built target rk_mpi_vi_test
[ 89%] Built target rk_mpi_mmz_test
[ 92%] Built target rk_mpi_gdc_test
[ 96%] Built target rk_mpi_avio_test
[100%] Built target rk_mpi_amix_test
zfeng@ubuntu:~/rk3568_linux_5.10/external/rockit/build$

最后将编译完成的可执行文件放到开发板即可,可执行文件路径为

/home/zfeng/rk3568_linux_5.10/external/rockit/build/mpi/example/mod/

二、测试

以rk_mpi_vi_test举例
接上摄像头模组与HDMI显示器,开机
因为系统默认已经安装了rockit组件,直接命令测试即可

rk_mpi_vi_test -w 1920 -h 1080 -t 4 -n /dev/video0 -m 4 -l 1000

命令参数相关解析可查阅代码,这里提醒一下-l参数,这是程序运行计数,默认是100,时间很短,基本上显示画面一闪而过,一度以为是程序哪里出问题了,改用-l 1000,画面显示时间加长。

root@topeet:/# rk_mpi_vi_test -w 1920 -h 1080 -t 4 -n /dev/video0 -m 4 -l 1000
vi               08:59:14-994 {
   
   main              :1387} test running enter!
vi               08:59:14-995 {
   
   main              :1493} test running enter ctx->aEntityName=/dev/video0!
cmd parse result:
output file open      : 0
yuv output file name  : /
enc0 output file path : //
enc1 output file path : //
loop count            : 1000
enMode                :
VIP rockit 学习、开发笔记(一)(VO) 什么是rockit MPI:(下面是rockchip给出官方解释)Rockchip提供的媒体处理接口(Rockchip Media Process Interface,简称 RK MPI),可支持应用软件快速开发。该平台整合了RK的硬件资源,对应用软件屏蔽了芯片相关的复杂的底层处理,并对应用软件直接提供接口完成相应功能。 开通可读全文·7.5k 阅读·32 点赞·60 收藏 阅读全文

相关推荐

瑞芯微 RK3588 环境搭建 SDK编译 编译指定模块

厂家推荐是虚拟机下 我这真好有真实的UBUNTU环境 就不用虚拟机了。需要将00到04 的压缩包 重新打包成一个文件 文档里面也已经给出命令了。这里主要用到两个目录 一个是源码也即SDK 交叉编译链 编译工具。如果在windows下面看 如下 是看不到符号链接文件的。需要注意的是 下下来的时候 只有下面绿色的部分。然后切到源码目录 我这里改名为SDK了。厂家给的资料下载下来之后 我的目录如下。具体目录不一样 按照文档说明操作即可。先安装交叉编译链 按照文档说明。搜了下需要执行如下命令。

baoecit的博客 4593

RK3568平台Rockit多媒体库编译实战:从环境准备到运行测试

在嵌入式Linux开发中,多媒体处理中间件承担着连接硬件加速能力与上层应用的关键角色。RK3568作为瑞芯微推出的64位处理器,其ISP、视频编解码、RGA加速等能力需要通过统一的用户态接口进行调度,Rockit正是这样一套面向多媒体与视觉应用的中间件库。理解交叉编译工具链、系统依赖、设备树配置以及Sensor驱动之间的关系,是顺利构建该库的前提。通过CMake配置依赖路径、链接MPP与AIQ等模块,即可生成可运行的Rockit库及示例程序。编译通过后还需部署到板端验证摄像头采集、编码输出等实际链路,常见问

weixin_34075268的博客 300

超越官方Demo:深度解析与重构RK3588S Rockit MPI VI测试程序

本文深度解析RK3588S平台Rockit MPI VI测试程序的官方Demo缺陷,提供VO初始化流程重构、代码冗余清理及多系统部署指南。重点优化HDMI输出稳定性,解决资源管理问题,提升嵌入式视频处理性能与可靠性。

apple5的专栏 702

RK3568平台Rockit多媒体框架交叉编译与部署实践指南

在嵌入式Linux开发中,多媒体处理框架是连接底层硬件与上层应用的关键桥梁。RK3568作为一款高性能SoC,其多媒体能力依赖于Rockit、MPP、RGA等组件的协同工作。Rockit本质上是用户态的多媒体管理框架,负责将摄像头采集、ISP处理、编解码及显示输出等复杂通路封装为统一接口,而底层则通过V4L2、DRM等内核机制与硬件交互。理解其编译原理与依赖关系,对于安防、AI盒子、工业视觉等场景的项目落地至关重要。交叉编译是嵌入式开发中的常见环节,工具链版本、依赖库路径、内核设备树配置都会影响最终运行效果

weixin_34054931的博客 326

RK3568实战:Debian系统下如何解决rockit_mpi的GLIBC版本冲突问题

本文针对在RK3568平台的Debian系统上部署rockit_mpi多媒体框架时遇到的GLIBC版本冲突问题,提供了专业的诊断与解决方案。文章深入剖析了冲突根源,并重点介绍了通过调整Buildroot编译环境、使用容器化技术等安全有效的方法,确保应用在不破坏系统稳定性的前提下顺利运行,助力开发者高效完成RK356X平台的多媒体应用部署。

app77的博客 209

RK3568视频硬解码四路线详解:GStreamer/FFmpeg/Rockit/MPP实战对比

在嵌入式视频产品开发中,硬件解码是绕不开的关键技术。RK3568作为一款常见SoC,其VPU单元支持H.264、H.265等格式的硬解,但真正调通却涉及复杂的软件栈。理解VPU、MPP与上层框架的依赖关系,是选型与排错的基础。目前主流的硬解码实现方案包括GStreamer插件、FFmpeg rkmpp硬件加速、Rockit官方框架以及直接调用MPP裸调。各自在CPU占用、延迟、开发量与可控性上差异明显。GStreamer适合快速验证,FFmpeg便于集成现有播放器,Rockit兼顾性能与产品化,MPP裸调则

weixin_29194817的博客 159

Rockit-开源

Rockit-Ruby面向对象的编译器构造工具KIT。

3318-android12-librockit 和librockit-hw-client@1.0.so解码库 包含32-64

3318-android12-librockit 和librockit_hw_client@1.0.so解码库 包含32-64

android zbar so库包含64、32位,jar包

android Zbar 含64、32位so库、jar包等,由于不会编译,智能拿来,全在csdn,积分太高买不起,积分定1分,分给想用而没有积分的

rk3588实现视频和QT叠加 rockit或mpp 亲测可用

修改TARGET可更改可执行文件默认名称。使用rk3588交叉编译器qmake rkDecode.pro make rk3588实现视频与QT叠加,亲测可用。资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!

数字IC时序约束实战:深入解析clock_uncertainty的设置策略与后端影响

本文深入探讨数字IC设计中clock_uncertainty的设置策略及其对后端实现的影响。通过分析时钟不确定度的组成(包括clock_skew、clock_jitter和margin),并结合实际项目经验,详细介绍了在不同设计阶段(综合、布局布线、签核)的动态调整方法。文章还提供了工程化处理参数来源、跨时钟域特殊处理以及优化时序收敛的实用技巧,帮助工程师提升数字IC设计的可靠性和性能。

weixin_29284657的博客 221

银河麒麟V11 + KVM/QEMU + GT 710 GPU直通 Win10 完整操作流程文档

宿主机:RTX 5080专门运行ollama大模型服务,通过SSH/VNC远程管理Win10虚拟机:GT 710直通,物理键盘专属,通过物理显示器处理视频应用硬件隔离:两个系统完全隔离,互不干扰,性能最大化两种不同的直通方式直通方式 配置方法 设备在宿主机的状态 典型应用场景PCIe设备直通 vfio-pci.ids=10de:128b,10de:0e0f 设备完全从宿主机消失,被vfio-pci驱动接管 GPU、网卡、NVMe硬盘。

weixin_45285654的博客 1149

思科华三设备组网思科生成树PVST发BPDU导致全网闪断

一、故障现象 1.思科PVST BPDU报文导致全网闪断。 2.光衰低时不同品牌网络设备无法兼容导致接入交换机中断。 二、网络拓扑 图1 网络拓扑图 组网结构为H3C汇聚,接入交换机有思科,也有H3C,而且与汇聚直连的接入交换机下面串接了较多的交换机,或者hub。 三、排查思路 1.回忆一下最近做了什么事情,什么时候开始出的问题。 将网络汇聚交换机从思科换为H3C,H3C汇聚和思科接入对接出问题...

Silence_always的博客 7433

[Linux]双网卡 CentOS 系统中指定网络请求走特定网卡的配置方法

本文详细介绍了在双网卡CentOS系统中指定特定域名/IP通过指定网卡传输流量的方法。核心步骤包括:1)确认网卡信息(ip addr)和域名IP解析(nslookup);2)添加临时路由(ip route add);3)持久化配置(创建route-eth1文件);4)验证配置(ip route show和curl测试)。文章还提供了网关查询、路由删除等常见问题的解决方法,并区分了不同CentOS版本重启网络服务的命令差异。通过合理配置路由规则,可实现流量的定向传输需求。

wingaso的博客 1563

微信小程序 - 强力解决播放视频卡顿问题,小程序使用video组件播放视频或第三方视频插件,会出现卡顿或者无法播放的各种奇怪问题(微信小程序苹果ios/安卓播放视频很卡不流畅、视频太长或文件大等情况)

微信小程序视频组件播放卡顿,微信小程序video组件出现无法播放或卡顿,微信小程序video组件播放时会出现卡顿,微信小程序使用video组件播放视频的时候,会出现卡顿或者无法播放的问题,微信小程序安卓视频播放卡顿问题,微信小程序苹果ios手机播放视频不流畅很卡,加cdn还是卡,uniapp播放视频会有明显的卡顿问题,video视频时卡顿不流畅问题,为什么video组件播放视频卡顿?苹果微信小程序通过video组件播放视频时卡顿,怎么解决?微信小程序video组件出现无法播放或卡顿,设置custom-cac

🏆 前端领域优质创作者 1万+

芯片测试:WAT、CP、FT

最近部门来了一个日本回来的同事,虽然他尽量用非常Poor的中文给我解释一些东西,其中还夹杂着一些英文让我很受挫,于是最近来学一下WAT中的常用的单词含义。直接去查缩写、查单词很难去记住,要把具体的东西放在具体的场景,引发知识的连接才会在脑子里留下一定的映像。感兴趣的一起来学习一下这篇不错的文章吧。注释是我查询记录,如有不妥,欢迎指出修正。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 5063

基于STM32F103的智能门禁门锁门卫系统设计

本文设计了一种基于STM32F103单片机的智能门禁系统,集成了密码、射频IC卡和指纹识别三种验证方式。系统采用模块化设计,包含MFRC522射频模块、AS608指纹模块、矩阵键盘、OLED显示和舵机控制等硬件,实现了身份验证、密码修改、IC卡/指纹管理以及安全防护功能。测试结果表明系统响应迅速(密码验证250ms、指纹验证600ms)、功耗低(待机50mA),且具备掉电密码保存功能。该系统操作简便、功能完善,适用于家庭和办公场所,具有较高实用价值。未来可扩展远程控制、人脸识别等功能以进一步提升智能化水平。

3254968421的博客 311

论文翻译:2024 High-Confidence Computing A survey on large language model (LLM) security and privacy: The

大型语言模型(LLMs),如ChatGPT和Bard,已经彻底改变了自然语言理解和生成。它们具有深度语言理解能力、类似人类的文本生成能力、上下文意识和强大的问题解决技能,使它们在各个领域(例如搜索引擎、客户支持、翻译)中变得不可或缺。同时,LLMs也在安全领域获得了关注,揭示了安全漏洞并展示了它们在安全相关任务中的潜力。本文探讨了LLMs与安全性和隐私的交集。具体来说,我们研究了LLMs如何积极影响安全性和隐私,与它们使用相关的潜在风险和威胁,以及LLMs内部的固有漏洞。

CSPhD-winston的博客 1718

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: 【已解决】pt文件转onnx后再转rknn时得到推理图片出现大量锚框变花屏
下一篇: Git常用操作命令

双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —
zfenggo
博客等级 码龄14年 117粉丝 67原创
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值