256MB 的 CMA 内存已成功分配到我们基于 iMX8M Plus 的系统中,具有 1GB 的 DDR4:
root@viperimx8mp:~# dmesg | grep -i cma
[ 0.000000] Reserved memory: created CMA memory pool at 0x0000000070000000, size 256 MiB
[ 0.000000] OF: reserved mem: ini
tialized node linux,cma, compatible id shared-dma-pool
[ 0.000000] Memory: 703092K/1015808K available (17920K kernel code, 1506K rwdata, 6920K rodata, 2880K init, 553K bss, 50572K reserved, 262144K cma-reserved)
但是,在使用 gstreamer 流式传输相机时,我遇到了以下错误:
root@viperimx8mp:~# gst-launch-1.0 v4l2src device=/dev/video2 ! video/x-raw, width=1920, height=1080, framerate=15/1 ! autovideos
在调试控制台端:
root@viperimx8mp:~# [ 425.307460] enter isp_mi_stop
[ 425.942933] enter isp_mi_stop
[ 426.134422] cma: cma_alloc: alloc failed, req-size: 1013 pages, ret: -12
[ 426.143351] cma: cma_alloc: alloc failed, req-size: 1013 pages, ret: -12
[ 426.152091] cma: cma_alloc: alloc failed, req-size: 1013 pages, ret: -12
[ 426.160775] cma: cma_alloc: alloc failed, req-size: 1013 pages, ret: -12
[ 426.171442] cma: cma_alloc: alloc failed, req-size: 64 pages, ret: -12
[ 426.178547] cma: cma_alloc: alloc failed, req-size: 1013 pages, ret: -12
[ 426.189008] cma: cma_alloc: alloc failed, req-size: 1013 pages, ret: -12
[ 426.199560] cma: cma_alloc: alloc failed, req-size: 1013 pages, ret: -12
[ 426.209896] cma: cma_alloc: alloc failed, req-size: 1013 pages, ret: -12
[ 426.251559] enter isp_mi_stop
[ 426.381644] jxf355_set_fps : current frame length: 2252, current line length: 1280
[ 426.399852] enter isp_s_comp
[ 426.402763] enter isp_s_comp
[ 426.405644] enter isp_s_comp
[ 426.427504] enter wdr3_hw_init
[ 426.430580] wdr3 res: 1920 1080
[ 426.434753] enter isp_mi_start
如果 256MB 足以流式传输单个 1080p 摄像机或问题出在其他地方,您能提供帮助吗?