腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
什么是
linux
内核上下文中的
DMA
映射和
DMA
引擎?
、
、
、
、
什么是
linux
内核上下文中的
DMA
映射和
DMA
引擎?什么时候
DMA
映射API和
DMA
引擎API可以在
Linux
设备驱动程序中使用?任何真正的
Linux
设备驱动程序示例作为参考都是很好的。
浏览 10
提问于2015-12-25
得票数 10
1
回答
PCIe内核驱动程序
DMA
写入错误地址
、
、
我目前正在为
Linux
4.19编写一个PCIe内核驱动程序。首先初始化PCIe驱动程序。我使用了以下说明: pci_alloc_consi
浏览 5
提问于2020-03-30
得票数 0
1
回答
DMA
分配的内存掩蔽
物理地址
有效吗?
、
、
、
、
我目前正在编写一个
Linux
内核驱动程序,它需要告诉FPGA一个要写入的RAM基址。FPGA是一个带有嵌入式ARM Cortex-A9的旋风V,一个带有驱动程序的嵌入式
Linux
正在运行。现在的问题是,FPGA结构只产生一个27位宽的总线来寻址sdram,而由
dma
调用生成的
物理地址
有32位,例如,
物理地址
是0
浏览 2
提问于2017-09-25
得票数 1
回答已采纳
2
回答
如何处理作为网络的
物理地址
以及
DMA
如何连接到它?
、
、
、
在TX路径上,我收到一个skb,因为下层只希望获得
物理地址
,我想我需要调用*virt_to_phys*并将返回值发送到下层。(这有道理吗?)现在,我知道有函数*
dma
_map_single*和*
dma
_unmap_single*。我仍然不知道他们是如何来到这里的。所以下层想要用
DMA
..。我也不确定我是否理解
dma
_map_single描述的含义会很感激你的帮助。
浏览 4
提问于2013-11-11
得票数 0
回答已采纳
1
回答
写到HW控制器的寄存器和
DMA
是如何在ARM arch机上工作的?
、
、
、
、
DMA
-写地址是由MMU翻译的吗? 为什么没有提到系统中的寄存器地址
浏览 2
提问于2012-11-06
得票数 0
回答已采纳
1
回答
Xilinx Zynq平台上使用AXI-
DMA
IP的PCM
DMA
引擎
、
、
、
、
我正在尝试在基于Zynq-7000的平台上使用
DMA
引擎来将PCM流传输到Zynq中的自定义I2S控制器。我的I2S控制器连接到外部放大器。我想通过AXI-
DMA
控制器使用
DMA
。这是我当前的数据路径: 我在Zynq PS上使用的是
Linux
4.10内核。我使用
Linux
的ASoC子系统来产生pcm流和控制我的外部音频放大器。我有512MB的DDR内存连接到Zynq。", "
dma
1", "
dma
2", &quo
浏览 57
提问于2017-02-24
得票数 3
1
回答
DMA
通道虚拟化意味着什么?
、
、
、
嗨,我看到了
DMA
正在处理
物理地址
的文档。因为
DMA
控制器实际上是使用
物理地址
来访问FIFO。在最近的一次讨论中,出现了一个问题:当我们为
DMA
实现一个驱动程序时,这个驱动程序是在
物理地址
还是虚拟地址上工作。在讨论中,还出现了术语
DMA
Channel虚拟化。这与虚拟寻址本身有任何关系吗?或者
DMA
根本不使用虚拟寻址。
浏览 0
提问于2017-01-06
得票数 1
回答已采纳
1
回答
为什么当我在
Linux
中与GFP_
DMA
一起使用kmalloc时,我会得到一个高地址?
、
、
、
我正在为
Linux
中的
DMA
设备编写设备驱动程序。在中,它说: physical_pointer0 = kmalloc(number_of_bytes, GFP_
DMA
); printk(KERN_INFO &
浏览 5
提问于2012-09-09
得票数 3
回答已采纳
1
回答
如何实例化和使用
dma
驱动程序
linux
模块
、
、
、
我们正在开发定制
DMA
设备,以快速处理大量数据。我们能够让它在裸金属上工作,但在
Linux
中却有麻烦。我们在ARM
linux
内核3.9上工作。
浏览 3
提问于2013-07-28
得票数 4
1
回答
如果intel VT-d (intel VT-D)被禁用,PCI设备可以直接寻址CPU PA吗?
、
、
我的理解是,如果PCI设备想要执行
DMA
RW,并且启用了IOMMU,驱动程序应该通过pci_map_page将CPU PA映射到
DMA
地址(对于非相干的),那么PCI设备可以使用这个
DMA
地址,IOMMU将把
DMA
地址转换成CPU PA。如果有人通过bios禁用IOMMU,是否意味着任何CPU PA可以直接使用
DMA
RW?
浏览 1
提问于2019-02-21
得票数 1
1
回答
在X86平台上,
DMA
操作是否意味着在MMIO空间和系统内存地址空间之间移动数据?
、
在现代的X86/X86_64平台上,由于MMIO机制的存在,
DMA
操作是否可以在MMIO地址空间和内存地址空间之间移动数据?在
Linux
内核中,我看到有一个
dma
_addr_t定义。
浏览 2
提问于2012-02-02
得票数 0
1
回答
从
DMA
地址(
dma
_addr_t)获取PFN?
、
我希望将PFN与与
dma
_alloc_coherent一起分配的内存块关联起来,以便与PCIe设备一起使用,如下所示: buffer =
dma
_alloc_coherent注意:内核中似乎有一个名为
dma
_to_pfn的ARM函数,这似乎正是我所需要的,但是对于x86来说。
浏览 4
提问于2020-01-21
得票数 2
回答已采纳
1
回答
用
DMA
从用户空间传输
linux
驱动程序数据
、
、
、
、
FPGA加速器包括一个
DMA
,其目的是将输入数据(从内存)和输出数据(到内存)移动。所有东西都是作为一个普通的金属应用程序工作的,但是我在
Linux
下做它有问题。为了解决这个问题,我正在编写一个设备驱动程序,但是我被困在从虚拟地址到
物理地址
的地址转换中。当我给
DMA
输入和输出基本地址时,我只能提供对我的目的无用的虚拟地址,因为我不知道如何将其转换为
物理地址
。我还认为,与裸金属不同的是,在
linux
中,数据可以被分割,而在裸金属中,它们处于连续的内存区域。 你有什么建议或参考来解决这些问题
浏览 3
提问于2014-10-23
得票数 1
1
回答
DMA
缓存相干连续分配
、
我正在考虑为
DMA
事务分配一个缓冲区。我读到有两种方法可以做到这一点--相干映射或流映射。 现在,我们需要缓存一致的缓冲区。但是,我们没有做任何分散/收集,所以我们想要
dma
_map_single调用的好处。我们已经在引导中预留了一些连续内存,所以我们总是有足够的连续内存可用。所以我想知道,我们能不能用
dma
_alloc_coherent返回的虚拟地址调用
dma
_alloc_coherent,然后再调用
dma
_map_single呢?然后将映射单的返回
物理地址
设置为
dm
浏览 2
提问于2013-08-02
得票数 3
回答已采纳
1
回答
Zynq处理器采集的图像数据存储在Zynq的PS块的内存中的什么地方?这样我就可以使用AXI接口将其带到PL块
、
、
、
现在,使用
linux
编程,我对Zynq处理器的PS部分进行编程并捕获视频,现在我有了包含捕获的Image数据的imagebuffer变量。
浏览 27
提问于2014-04-10
得票数 3
1
回答
如何将
dma
_addr_t转换为
linux
内核中的虚拟地址?
、
、
、
我正在编写一个PCI设备驱动程序,我需要为
DMA
分配一些内存,我正在使用以下函数:我把
dma
_handle传递给设备。有没有办法将
物理地址
dma
_handle转换成我可以在内核中使用的地址?类似于这些函数/宏中的一个:page_to_p
浏览 0
提问于2013-10-30
得票数 0
回答已采纳
2
回答
获取
Linux
下缓冲区的
物理地址
、
、
、
、
我在Xilinx的Microblaze上运行
Linux
内核3.3,带有完整的MMU。我正在做的任务要求我知道以下内容:我需要创建一个文本文件(缓冲区)并定位这个缓冲区的
物理地址
,并且我不希望内核将这个文件写入不连续的内存区域。之所以需要这样做,是因为我有一个
DMA
引擎,可以从预设的物理内存地址流式传输数据,所以我需要强制
Linux
在那个确切的内存位置创建缓冲文件,这样当我将数据写入这个文件时,它会立即由
DMA
引擎传输到另一个硬件核心将从其流出的源地址,然后程序员可以在该确切地址中放置文件并运行系统 当我们
浏览 11
提问于2013-06-13
得票数 7
1
回答
物理地址
、设备地址和虚拟地址之间的差异
、
、
、
设备地址、
物理地址
和虚拟地址之间有什么区别? 实际上,我正试图在驱动程序中使用mmap,我被困在了这个概念上。
浏览 11
提问于2014-07-23
得票数 6
1
回答
在x86平台上,PCI事务中的地址是否默认由IOMMU转换?
、
、
我知道PCI有一个叫做ATS的功能,可以将虚拟地址转换成
物理地址
,但我不确定在当前的x86平台上是否默认启用了它。这就是我现在猜想的。首先,像pci_map_*这样的
DMA
API将调用intel iommu驱动程序来设置页表并获取io虚拟地址。其次,PCI设备将使用虚拟io地址来开始事务,且vt-d将把该虚拟io地址转换为
物理地址
。我说的对吗?
浏览 10
提问于2018-11-29
得票数 0
1
回答
kmalloc如何返回大于
物理地址
大小的
物理地址
?
、
、
我在
Linux
的设备驱动程序中用kmalloc分配一个内存块。我得到的地址是0xffff880000180000。我正在使用一个46位
物理地址
空间的IvyBridge处理器.这意味着CPU没有超过46个寻址引脚,因此它不能访问0x00003fffffffffff之上的任何地址。假设kmalloc返回一个物理指针(即虚拟、线性和
物理地址
相同的指针),如果CPU无法访问它,我怎么能得到这样的地址? 这个问题与"“有关。然而,这是不一样的。这个问题一般是关于
物理地址
kmalloc返回,而链接问题是关于GFP_
浏览 0
提问于2012-09-10
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
物理地址(MAC地址)是什么?
DMA分区计量探讨
FreeBSD 14 将用 dma 取代 sendmail
打通Linux任督二脉线下课程报名通知,上海-3
一条命令揪出ssh登录者物理地址
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
云直播
活动推荐
运营活动
广告
关闭
领券