vxworks中DMA如何使用

xSTONEx 2014-07-15 08:55:49
各位大神,小弟在MPC8377(运行vxworks系统)上想使用DMA,不知如何使用,查看datasheet,大致步骤如何
1,查看DMA通道是否空闲;
2、设置DMA的源地址、目的地址、数据长度
3、设置DMA中mode寄存器的模式(我选的是drict模式,还有一种是chain模式,不知区别,求赐教)
4、将DMA中mode寄存器的CS位先清0再置1来启动传输
我就是按上述步骤进行的,不知为何目的地址为何没有数据,不知道有没有还需要设置的地方
另外就是,测试时能不能将源地址和目的地址都设置在内存中?
还有,有什么简单的方法测试DMA能否运行?
...全文
1040 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tony363 2014-07-23
  • 打赏
  • 举报
回复
vxWorks6.9上应该有DMA的驱动vxbFslDma.c,drict模式是寄存器访问方式,chain/list模式是描述符访问方式,你不了解的话,最好先做direct 模式,容易一些。DMA 流程 申请通道----填src,dest,cnt等信息----填回调function(option)---start DMA---等待传输完成中断----进ISR----清中断,taskspawn一个任务执行DMA 回调函数-完成 释放通道
xSTONEx 2014-07-15
  • 打赏
  • 举报
回复
自己先顶一下

2,179

社区成员

发帖
与我相关
我的任务
社区描述
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
社区管理员
  • VxWorks开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧