lilili

lilili

0个粉丝

18

问答

0

专栏

0

资料

lilili  发布于  2026-06-11 22:52:50
采纳率 6%
18个问答
316

rk3568 rockit rk_mpi_vdec_test错误

 

执行rk3568 rockit rk_mpi_vdec_test测试报错如下

我来回答
回答2个
时间排序
认可量排序

40个粉丝

29

问答

37

专栏

71

资料

2026-06-25 10:36:23
认可0

dmesg看看有没有更详细的信息,或者gdb跑一下看看。分析出造成问题的操作,看下前后的处理。

nini

0个粉丝

1

问答

0

专栏

1

资料

nini 2026-06-29 18:14:23
认可0

该问题通常与系统环境配置或权限有关,可按以下步骤逐一排查:

  1. 检查Rockit动态库是否被正确加载
    程序运行时需要依赖librk_mpi.so等Rockit库文件。如果库文件缺失或路径未正确配置,可能导致内存访问异常。

请检查库文件是否存在:ls /usr/lib/librk_mpi.so*

如果库文件位于非标准路径,请设置环境变量:export LD_LIBRARY_PATH=/path/to/your/lib:$LD_LIBRARY_PATH

  1. 检查硬件设备节点权限
    Rockit解码需要访问硬件设备节点(例如/dev/vpu或/dev/rga),权限不足可能导致初始化失败。

建议使用root权限运行测试程序:sudo ./rk_mpi_vdec_test

或临时调整设备节点权限(请根据实际节点名称调整):sudo chmod 666 /dev/vpu*

  1. 确认输入视频文件路径与格式是否正确
    如果测试程序需要指定输入文件,请确保:

文件路径是绝对路径或正确的相对路径,且文件存在。

视频格式是Rockit硬件解码器支持的格式(如H.264/H.265),建议先用一个已知兼容的本地文件进行测试。

  1. 检查系统内存配置(常被忽略的关键点)
    当RK3568开发板配备了4GB或更大内存时,系统内存映射可能与Rockit的硬件模块(如RGA)存在兼容性问题,导致内存访问越界。

现象:程序在RK_MPI_SYS_Init()等初始化阶段直接崩溃。

临时验证方法:可以尝试在UBoot启动阶段修改内核启动参数,限制内核仅使用4GB以下的物理内存地址空间,以验证是否为该问题。例如,修改dts或在UBoot中调整mem参数。此操作涉及底层配置,建议先查阅开发板官方文档或咨询厂商技术支持。

  1. 开启调试日志以获取更多信息

启用MPP调试日志,观察解码器内部更详细的输出:

bash
echo 0x100 > /sys/module/rk_vcodec/parameters/mpp_dev_debug

  1. 编写最小化测试用例进行隔离验证
    为了排除测试程序本身逻辑的影响,可以编写一个极简的C程序,仅调用RK_MPI_SYS_Init()后立即退出。如果该最小程序同样报段错误,则可以确认问题100%出在系统环境或Rockit库的安装配置上。
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区