Fw: [问题] linux DMA问题

楼主: mikebenq (BenQ)   2014-04-30 18:47:35
※ [本文转录自 LinuxDev 看板 #1JOCEzTV ]
作者: mikebenq () 看板: LinuxDev
标题: [问题] linux DMA问题
时间: Wed Apr 30 17:34:47 2014
我想在linux下用DMA和我的硬件沟通
网络上很多教学文都是kmalloc一块内存大小
用dma_map_single 映射出一个DMA可使用的地址
这种方法我也试成功了
现在的问题是我有一笔资料要用我的硬件做运算
我已经知道这笔资料起始位置也确定资料是连续的
但是我把这个地址用dma_map_single会出现segment fault
我现在的做法是把要算的资料复制到一块kmalloc的内存
再用硬件算我刚刚复制的资料
这样是成功的
但是复制一份花了相当多的时间
我想知道已知memory address 可否直接用DMA
该怎么做
我的dma_map_single 跟 kmalloc 都是写在我硬件的driver中的ioctl
要算的资料是在main中产生
当要开始算的时候call ioctl
拜托各位高手救救我
作者: alongalone (沿着孤单的路)   2014-04-30 18:03:00
kmalloc有大小限制,你提到花很多时间.我猜有可能爆掉有考虑试看看 vmalloc 吗
楼主: mikebenq (BenQ)   2014-04-30 18:38:00
我kmalloc一块内存将资料复制进去是成功的但是这么做感觉很浪费时间可以用原本的资料不用经过复制的程序吗?

Links booklink

Contact Us: admin [ a t ] ucptt.com