gpt4 book ai didi

linux-kernel - 从 Linux 内核空间到 PCIe 卡的 DMA

转载 作者:行者123 更新时间:2023-12-03 19:34:06 29 4
gpt4 key购买 nike

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

该驱动程序对于正常的内存传输工作正常,但尝试使用卡的总线主控功能启动缓冲区从 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

PLX 9080 PCI 接口(interface)芯片数据表 -- http://www.der-ingo.de/bin/milanhelp/PLX9080.pdf

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

谢谢,

斯科特

最佳答案

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

一个严肃的“duh”时刻,但要找到它需要付出很大的努力。

根据评论,对不起,如果我绝望地污染了 SO。还在学习如何成为一个好公民。

不确定上面链接的代码是否会在我的项目更改时保持静态,或者该链接是否会反射(reflect)最新版本。基本上只是小心不要在错误的时间中止您的转移。

关于linux-kernel - 从 Linux 内核空间到 PCIe 卡的 DMA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17495971/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com