dma

    -1热度

    1回答

    在哪里可以找到有关建筑学,dma,iommu的实施的教科书? 你知道学习的好链接吗?

    3热度

    2回答

    我想在内核空间编写的驱动程序: 通信。在嵌入式系统(使用PowerPC)通过的PCIe连接的FPGA。 它使用DMA将信息从FPGA传输到RAM。 用户程序必须访问此信息。 我需要一些类似的例子来指导我。有没有人有任何想法,我可以找到一些来源?

    0热度

    1回答

    我面临着以下线程提到确切的问题: - Using DMA API in linux kernel but channel is never available 我不能看到任何DMA通道/sys/class/dma。建议解决方案禁用CONFIG_NET_DMA。但你们可以告诉我如何禁用这个特殊的东西吗?我检查了制造menuconfig,但不知道该怎么做。从搜索功能

    2热度

    1回答

    由于某些设计要求,我需要在运行时更改DMA描述符。为了实现这一点,我按照以下步骤操作: 中止DMA通道。然后DMA硬件将保存当前执行的描述符 write_back相同DMA通道的RAM位置。 等到中止完成 修改write_back RAM位置上的DMA描述符。 再次启用 DMA通道这是代码片段我使用: //Select DMA channel DMAC->CHID.reg = DMAC_CHID

    5热度

    1回答

    我正在编写一个内核模块,它将分配一些连贯的内存并返回相应的虚拟地址和物理地址。 我正在注册该模块为cdev,用dma_alloc_coherent()分配空间,我想使用dma_common_mmap()将其映射到mmap。 dma_common_mmap()需要一个指向struct device的指针:我怎么能得到它?

    8热度

    1回答

    我正在使用高速串行卡进行从外部源到具有PCIe卡的Linux机箱的高速数据传输。 PCIe卡附带一些使用dma_alloc_coherent分配dma缓冲区以接收数据的第三方驱动程序。但是,由于Linux限制,这种方法将数据传输限制为4MB。我一直在阅读和尝试多种分配大型DMA缓冲区的方法,但无法让其工作。 这个系统有32GB的内存,正在运行红帽3.10的内核版本,我想让4GB的可用于连续的DMA

    3热度

    2回答

    我一直在尝试一段时间,通过USART将我的计算机的数据块传输到STM32L100C-DISCO。出于性能原因,这是使用DMA完成的。但是,到目前为止,我还没有得到它的工作。因为我似乎无法弄清楚我可能做错了什么,所以我想我会在这里问。 我使用的是libopencm3,但不幸的是,他们其他优秀的repository of examples在STM32L1xxx上似乎没有包含一个用于DMA的DMA。虽然

    4热度

    1回答

    我想要完成的是在PCIe上的FPGA板上的DMA内核中直接访问的用户空间中创建一块内存(不受内核的干扰)。 为了做到这一点,我使用posix_memalign()在用户空间用来在用户空间分配存储器(4M)的块,然后通过一个写操作通过它的虚拟地址给内核。 在内核中我用下面的代码来获取用户空间内存块的所有页面,以创建一个分散/集中列表,并获得每一页的所有物理地址: static ssize_t pos

    1热度

    1回答

    我有一个PCI设备读取由dma_alloc_coherent 分配在内核文档存储它说,之前刷新内存: “你可能但是需要确保冲洗告诉设备读取内存” 正是我怎么做,以前处理器的写缓冲区?我如何刷新内存,以便设备读取正确的数据?

    5热度

    1回答

    我试图让DMA传输的FPGA和x86_64的Linux机器之间的工作。 在PC端我这样做初始化: //driver probe ... pci_set_master(dev); //set endpoint as master result = pci_set_dma_mask(dev, 0xffffffffffffffff); //set as 64bit capable ... /