野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 17|回复: 0

[求助] RK3576是否有dma相关功能

[复制链接]
发表于 4 天前 | 显示全部楼层 |阅读模式
本帖最后由 luozc 于 2026-4-4 20:06 编辑

刚买了鲁班猫3-RK3576,我想开发RGA相关功能,于是找到瑞芯微的librga库的例子,里面

程序1:
https://github.com/airockchip/li ... tcolor_demo.cpp#L68
代码为
src_buf = (char *)malloc(src_buf_size);
是普通的分配虚拟内存,可能需要额外的内存拷贝到DMA区域

程序2:
https://github.com/airockchip/li ... or_csc_demo.cpp#L70
代码为
ret = dma_buf_alloc(DMA_HEAP_DMA32_UNCACHED_PATH, src_buf_size, &src_dma_fd, (void **)&src_buf);
是分配物理连续的DMA内存,可被硬件直接访问,零拷贝

我编译成功之后,执行程序1(malloc分配方式),可以执行成功,执行程序2(dma_buf_alloc方式),运行失败,日志如下:
open /dev/dma_heap/system-uncached-dma32 fail!
alloc dma32_heap buffer failed!


然后我发现系统里面根本就没有"/dev/dma_heap/system-uncached-dma32"这个文件,
我刷的系统是"lubancat-rk3576-ubuntu22.04-gnome-20260110_update.img",

我后续发现系统
里面有 "/dev/dma_heap/system-uncached" 这个文件,
但没有 "/dev/dma_heap/system-uncached-dma32" 这个文件,
我替换成system-uncached就可以执行成功!!
请问在执行效率上,这两个是否有差异,是不是dma32内存更少,但是效率更高

请问为什么会缺失这个文件呀?是否需要重新刷一下系统,还是RK3576就没有这个文件?

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2026-4-8 03:57 , Processed in 0.142965 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表