首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Linux内核空间到PCIe卡的DMA

从Linux内核空间到PCIe卡的DMA
EN

Stack Overflow用户
提问于 2013-07-06 03:50:02
回答 1查看 1.8K关注 0票数 4

我正在尝试为PCIe设备- Adlink PCIe 7300A高速数字IO卡编写一个linux驱动程序。

对于正常的内存传输,驱动程序工作得很好,但尝试使用卡的总线主控功能启动从CPU内存到设备输出FIFO缓冲区的DMA传输根本不起作用。

我一直在尝试用几周的时间来解决这个问题,而不是几天。

任何洞察力都会非常受欢迎。

驱动代码-- https://github.com/sbrookes/timing_driver_sdarn/blob/master/kernel_land/timing.c

设备数据表-- http://www.acceed.com/manuals/adlink/P7300A%20Manual.PDF

PLX9080PCI接口芯片数据表-- http://www.der-ingo.de/bin/milanhelp/PLX9080.pdf

我无法解释我有多感激任何一点的洞察力。

谢谢,

史考特

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-09 11:41:45

我似乎已经解决了这个问题。中断处理程序中似乎有一个错误的条件,它在错误的时间中止DMA传输,甚至从未让传输开始。

一个严肃的“废话”时刻,但它花了很大的努力才找到它。

根据评论,如果我的绝望污染了我,我很抱歉。还在学习如何做一个好公民。

不确定上面链接的代码是否会在我的项目更改时保持不变,或者该链接是否会反映最新版本。基本上,只需小心不要在错误的时间中止您的传输。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17495971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档