Firefly开源社区

打印 上一主题 下一主题

[Linux] 官方Linux固件没有支持DMA?/dev/dma_heap/没有这个目录

18

积分

0

威望

0

贡献

技术小白

积分
18

官方Linux固件没有支持DMA?/dev/dma_heap/没有这个目录

发表于 2023-5-30 20:49:58      浏览:1702 | 回复:0        打印      只看该作者   [复制链接] 楼主
问题描述及复现步骤:
用QT做一个播放RTSP的应用,MPP/RGA然后显示。用mallc感觉CPU占用还是高了。


按照firefly官方wiki说明,打算用dma_buf_alloc,但是在/dev下没有找到dma_heap目录。
请问该如何处理?如果是要重新编译内核的话,该怎么配置?
15.3. 申请内存空间的三种方法
  • molloc

    • 函数原型:void *malloc(size_t size)

    • 优点:简单,方便,兼容性好

    • 缺点:速度慢


  • dma_buf_alloc

    • 函数原型: int dma_buf_alloc(const char *path, size_t size, int *fd, void **va)

    • 优点:内存共享,共享节点在/dev/dma_heap/* 速度快

    • 缺点:只能申请4G以下的内存


  • drm_buf_alloc

    • 函数原型:void *drm_buf_alloc(int TexWidth, int TexHeight, int bpp, int *fd, int *handle, size_t *actual_size, int flags=0)

    • 优点:内存共享,速度快

    • 缺点:需要额外安装libdrm库




op.log

119 Bytes, 下载次数: 1, 下载积分: 灯泡 -1 , 经验 -1

回复

使用道具 举报

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

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表