基于rv1108不能够正常录像的问题解决

在使用rv1108设备录像时遇到因ion内存不足导致的故障,通过对Linux内核dts文件调整ion cam内存大小,增大到380M,成功解决了录像问题。

问题描述:

当点击录像后,终端打印如下的log信息:

[   69.354381]  rockchip_ion_cma: Fail to allocate(b6f000) buffer
04-01 15:20:40 video       mpp_ion: ion_ioctl c0144900 failed with code -1: Operation not permitted
04-01 15:20:40 video       mpp_ion: allocator_ion_alloc ion_alloc failed ret -1
04-01 15:20:40 video       mpp_buffer: mpp_buffer_create failed to create buffer with size 11985408
04-01 15:20:40 video       hal_h264e_rkv: h264e_rkv_allocate_buffers hw_rec_buf[1] get failed
04-01 15:20:40 video       hal_h264e_rkv: hal_h264e_rkv_control allocate buffers failed
04-01 15:20:40 video       mpp: command 320011 param 0xa4f1e618 ret -4
04-01 15:20:40 video       mpi control pre alloc buff failedmpp_thread: MPP_THREAD_STOPPING status set mThread 0x4e3d58
04-01 15:20:40 video       mpp_buffer: mpp_buffer_ref_dec found non-positive ref_count 0 caller h264e_rkv_allocate_buffers
04-01 15:20:40 video       hal_h264e_rkv: h264e_rkv_free_buffers hw_dsp_buf[0] put failed

通过log信息发现是因为ion的内存不足所导致的。所以需要在linux内核中的dts文件中加大ion cam内存相关的大小。如下所示:修改到最大380M。问题即可得到解决。

  ion_cma: rockchip,ion-heap@4 { /* CMA HEAP */
             compatible = "rockchip,ion-heap";
             rockchip,ion_heap = <4>;
         //  reg = <0x00000000 0x04400000>; /* 68MB */           
         //  reg = <0x00000000 0x08000000>; /* 128MB */
         //  reg = <0x00000000 0x09000000>; /* 144MB */  
         //  reg = <0x00000000 0x0C000000>; /* 192MB */  
         //  reg = <0x00000000 0x11800000>; /* 280MB */
             reg = <0x00000000 0x17C00000>; /* 380MB */
         };

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值