shyley 发表于 2019-11-19 10:10:29

linux DMAdriver使用alloc failed

板子型号:ZYNQ-MZ7100FB,debian系统参考帖子:https://blog.csdn.net/long_fly/article/details/80482248(linux下运行DMA)
                https://blog.csdn.net/long_fly/article/details/79702222(fpga工程搭建)
参考以上帖子,使用DMA驱动,但是应用程序的时候一直显示unable to allocate contigous DMA of size 4096,根据网上搜索,是DMA大小不够,于是更改了kernel/arch/arm/mm/dma.mapping.c中的DEFAULT_DMA_COHERENT_POOL_SIZE S_16M(最大可以分配16M,超过就无法分配,报错),在设备树bootargs中和uEnv.txt增加了cma=16M的约束,但是开机启动的时候显示错误

fpga工程:https://pan.baidu.com/s/1DwjZIOgMYx6JebdfL2r2gA
boot文件:链接:https://pan.baidu.com/s/1gcdCY6SWTXf6YnmzAiT4pA
提取码:t9j3





shyley 发表于 2019-11-19 13:37:44

其实,应该就是如何增大DMA大小和cma大小

菲尼克兔 发表于 2019-11-21 13:34:51

我记得我跑米联的buildroot的时候,启动的log里面在0x3f00_0000的地方设置了16M的CMA......
所以你是想要更大的CMA?
页: [1]
查看完整版本: linux DMAdriver使用alloc failed