免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2015 | 回复: 0
打印 上一主题 下一主题

[驱动] linux内核被挂住了 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-07-15 19:05 |只看该作者 |倒序浏览
我设计的应用程序和驱动的配合过程如下:

应用程序:
1.配置DMAC
2.配置DDP
3.使能DDP

DDP驱动:
4.发生dma_req中断
5.进入中断处理函数,清除中断,调用DMAC驱动中的函数来使能DMAC,进行数据传输

DMAC驱动:
6.开始传输一帧数据,查询方式判断一帧数据有没有传完,传完则修改dma的配置,程序return,等待下一次dma_req中断的时候又会执行4~6的过程。

我本来的设想是应用程序使能DDP后,整套系统开始工作,持续的发送帧数据,当我想停止整套系统工作时,我在应用程序中禁止DDP。但实际的结果是,当我使能DDP后,整个linux操作系统就被挂住了,因为DDP默认是不会自己停止的,会持续的发出dma_req,secureCRT里不能再进行输入,SDK软件调试工具也无法再连接上板子执行应用程序。


按理DDP和DMAC两个模块不是一直占用AXI总线的,内核怎么会被挂住呢?我的问题有可能出在哪里? 望高人指点。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP