………………
(*(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要转变下?
...全文
5102打赏收藏
DMA中从内存传输到内存源和目的地址怎么设
想写个DMA驱动测试下,要求很简单,就是初始好DMA寄存器后用IOCTL将源和目的地址传到驱动里去设置,比如 ……………… (*(volatile unsigned long *)Cn_SrcAddr) = (arg); ……………… (*(volatile unsigned long *)Cn_DesAddr) = (arg); 其中arg内应用程序传进来的buff_des的地址: ret = ioctl(fileno,SETSRC,&buff_src); ret = ioctl(fileno