当前位置: 技术问答>linux和unix
DMA中从内存传输到内存源和目的地址怎么设
来源: 互联网 发布时间:2016-07-29
本文导语: 想写个DMA驱动测试下,要求很简单,就是初始好DMA寄存器后用IOCTL将源和目的地址传到驱动里去设置,比如 ……………… (*(volatile unsigned long *)Cn_SrcAddr) = (arg...
想写个DMA驱动测试下,要求很简单,就是初始好DMA寄存器后用IOCTL将源和目的地址传到驱动里去设置,比如
其中arg内应用程序传进来的buff_des的地址:
ret = ioctl(fileno,SETSRC,&buff_src);
ret = ioctl(fileno,SETDES,&buff_des);
问题是这样弄好了之后开启DMA传输,但是buff_des里的内容没有变化,还是原来的内容,哪位高人知道问题在哪吗? 还是传进来的arg要转变下?
………………
(*(volatile unsigned long *)Cn_SrcAddr) = (arg);
………………
(*(volatile unsigned long *)Cn_DesAddr) = (arg);
其中arg内应用程序传进来的buff_des的地址:
ret = ioctl(fileno,SETSRC,&buff_src);
ret = ioctl(fileno,SETDES,&buff_des);
问题是这样弄好了之后开启DMA传输,但是buff_des里的内容没有变化,还是原来的内容,哪位高人知道问题在哪吗? 还是传进来的arg要转变下?
|
友情帮顶。
|
就这两行,谁能看出问题?