腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
DMA
通道虚拟化意味着什么?
、
、
、
嗨,我看到了
DMA
正在处理
物理地址
的文档。因为
DMA
控制器实际上是使用
物理地址
来访问FIFO。在最近的一次讨论中,出现了一个问题:当我们为
DMA
实现一个
驱动
程序时,这个
驱动
程序是在
物理地址
还是虚拟地址上工作。在讨论中,还出现了术语
DMA
Channel虚拟化。这与虚拟寻址本身有任何关系吗?或者
DMA
根本不使用虚拟寻址。
浏览 0
提问于2017-01-06
得票数 1
回答已采纳
2
回答
什么是linux内核上下文中的
DMA
映射和
DMA
引擎?
、
、
、
、
什么是linux内核上下文中的
DMA
映射和
DMA
引擎?什么时候
DMA
映射API和
DMA
引擎API可以在Linux设备
驱动
程序中使用?任何真正的Linux设备
驱动
程序示例作为参考都是很好的。
浏览 10
提问于2015-12-25
得票数 10
1
回答
在雷霆
驱动
程序中绕开重新映射的目的是什么?
、
、
、
、
我的问题只是好奇,我不是MacOS雷电
驱动
程序的开发人员,所以我对此没有经验。 我在页面上看到了雷电
驱动
程序和MacOS上的IOMMU。据我所知,当
驱动
程序请求一个内存地址时,获得的地址不是
物理地址
,而是由IOMMU映射的虚拟地址。我认为这是由于在没有IOMMU的情况下使用
DMA
的安全风险。但是,
驱动
程序可以选择绕过重映射,例如调用IODMACommand对象的initWithSpecification方法,并将mappingOptions设置为kBypassed。但是,在页面中,有人说
浏览 8
提问于2020-09-26
得票数 2
回答已采纳
1
回答
物理地址
、设备地址和虚拟地址之间的差异
、
、
、
设备地址、
物理地址
和虚拟地址之间有什么区别? 实际上,我正试图在
驱动
程序中使用mmap,我被困在了这个概念上。
浏览 11
提问于2014-07-23
得票数 6
1
回答
DMA
分配的内存掩蔽
物理地址
有效吗?
、
、
、
、
我目前正在编写一个Linux内核
驱动
程序,它需要告诉FPGA一个要写入的RAM基址。FPGA是一个带有嵌入式ARM Cortex-A9的旋风V,一个带有
驱动
程序的嵌入式Linux正在运行。现在的问题是,FPGA结构只产生一个27位宽的总线来寻址sdram,而由
dma
调用生成的
物理地址
有32位,例如,
物理
浏览 2
提问于2017-09-25
得票数 1
回答已采纳
1
回答
如何获取V4L2
DMA
虚拟地址的
物理地址
?
、
、
我有一个典型的V4L2
驱动
程序,我使用它来配置内存映射IO方法。这个司机把一个虚拟地址交给我的用户空间应用程序。这一切都很好。 我有另一个
驱动
程序,它期望输入一个内核
物理地址
。我想将V4L2
驱动
程序的输出连接到这个
驱动
程序的输入端,但是它需要一个
物理地址
(这个
驱动
程序控制这个
驱动
程序的功能)。我的理解是,内核例程: virt_to_phys()例程将不能使用
DMA
分配的内存映射地址。这是真的吗?如果是的话,如何从传递到用户空间的<em
浏览 3
提问于2018-10-18
得票数 0
回答已采纳
1
回答
如何将
dma
_addr_t转换为linux内核中的虚拟地址?
、
、
、
我正在编写一个PCI设备
驱动
程序,我需要为
DMA
分配一些内存,我正在使用以下函数:我把
dma
_handle传递给设备。有没有办法将
物理地址
dma
_handle转换成我可以在内核中使用的地址?类似于这些函数/宏中的一个:
浏览 0
提问于2013-10-30
得票数 0
回答已采纳
1
回答
在x86中中断处理页面错误以服务设备内存副本
、
、
、
、
ISR会使用out告诉
DMA
控制器从系统内存向设备发出一份副本(反之亦然),还是我离这里很远?
浏览 4
提问于2012-07-03
得票数 1
回答已采纳
1
回答
Xilinx Zynq平台上使用AXI-
DMA
IP的PCM
DMA
引擎
、
、
、
、
我正在尝试在基于Zynq-7000的平台上使用
DMA
引擎来将PCM流传输到Zynq中的自定义I2S控制器。我的I2S控制器连接到外部放大器。我想通过AXI-
DMA
控制器使用
DMA
。在过去,我使用Zynq PS中的PL330来
驱动
DMA
引擎。我的I2S控制器过去在它的AXI-Lite寄存器空间中内置了一个先进先出,所以所有的
DMA
传输都通过AXI-Lite接口。", "
dma
1", "
dma
2", &qu
浏览 57
提问于2017-02-24
得票数 3
1
回答
如何从DriverKit
驱动
程序访问
物理地址
?
、
、
现在,我正在尝试编写一个IOUserSCSIParallelInterfaceController
驱动
程序,它既不使用
DMA
也不使用PCI,并且模拟一个SCSI目标。我意识到通过UserProcessParallelTask方法给出的SCSIUserParallelTask结构中的fBufferIOVMAddr ( )表示一个
物理地址
,它不能用作
驱动
程序内存空间中的内存地址我需要我的
驱动
程序向缓冲区写入一些东西,并从缓冲区中读取一些东西,因为我想通过我的
驱动
程序代码进行SCSI通信。
浏览 7
提问于2021-07-11
得票数 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
回答
PCIe内核
驱动
程序
DMA
写入错误地址
、
、
我目前正在为Linux4.19编写一个PCIe内核
驱动
程序。首先初始化PCIe
驱动
程序。我使用了以下说明: pci_alloc_consi
浏览 5
提问于2020-03-30
得票数 0
1
回答
如何实例化和使用
dma
驱动
程序linux模块
、
、
、
我们正在开发定制
DMA
设备,以快速处理大量数据。我们能够让它在裸金属上工作,但在Linux中却有麻烦。我们在ARM linux内核3.9上工作。我们不知道如何为我们的设备实例化和使用内核
驱动
程序:,您有什么建议或示例代码可以共享吗?但我们不确定如何实例化struct设备。
浏览 3
提问于2013-07-28
得票数 4
2
回答
获取Linux下缓冲区的
物理地址
、
、
、
、
我正在做的任务要求我知道以下内容:我需要创建一个文本文件(缓冲区)并定位这个缓冲区的
物理地址
,并且我不希望内核将这个文件写入不连续的内存区域。之所以需要这样做,是因为我有一个
DMA
引擎,可以从预设的物理内存地址流式传输数据,所以我需要强制Linux在那个确切的内存位置创建缓冲文件,这样当我将数据写入这个文件时,它会立即由
DMA
引擎传输到另一个硬件核心更多详细信息: 我的系统有一个512MB的
DMA
通过“Xilinx的多端口内存控制器连接到系统上,这个内存控制器的基地址是0x90000000,系统中的所有单元都通过这个控制器
浏览 11
提问于2013-06-13
得票数 7
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
回答已采纳
2
回答
如何处理作为网络的
物理地址
以及
DMA
如何连接到它?
、
、
、
我正在开发一个网络
驱动
程序,对内存管理有点困惑。在TX路径上,我收到一个skb,因为下层只希望获得
物理地址
,我想我需要调用*virt_to_phys*并将返回值发送到下层。(这有道理吗?)现在,我知道有函数*
dma
_map_single*和*
dma
_unmap_single*。我仍然不知道他们是如何来到这里的。所以下层想要用
DMA
..。我也不确定我是否理解
dma
_map_single描述的含义会很感激你的帮助。
浏览 4
提问于2013-11-11
得票数 0
回答已采纳
1
回答
Linux:如何确定与从ioremap返回的内容对应的
DMA
地址
、
、
、
、
假设我有一些
物理地址
(这是我的
DMA
源外围设备的总线位置):我知道:完成此操作后,我不再可以直接访问phys_addr (在我的示例中,我没有访问权限,因为我正在编写的
驱动
程序只传递了virt_addr)。似乎建议取消所有virt_to_bus-like转换,每个人都应该使用
dma
_map_single等来获取
DMA
总线地址。所以接下来我试了一下: wrong_phys
浏览 13
提问于2015-02-19
得票数 3
回答已采纳
1
回答
Linux使用什么指令来指示英特尔CPU设置
DMA
传输?
、
、
我知道设备
驱动
程序可以使用内核api来设置传输方向、计数等,但我想了解api使用什么CPU指令来通知cpu启动
DMA
传输?
浏览 28
提问于2021-02-15
得票数 0
回答已采纳
2
回答
DMA
事务每次都需要复制到缓冲区?
、
、
这可能是一个愚蠢的问题,但到目前为止,我还没有了解
DMA
。当对内存DMAing执行内存时,需要分配
DMA
缓冲区(例如使用
dma
_alloc_coherent()),然后对于每一次传输,我们需要将缓冲区复制到分配的内存(源缓冲区),然后触发
DMA
事务。将源复制到目标-而不带
DMA
的步骤 触发
DMA
事务(最终将
浏览 4
提问于2016-09-06
得票数 1
回答已采纳
1
回答
DMA
缓存相干连续分配
、
我正在考虑为
DMA
事务分配一个缓冲区。我读到有两种方法可以做到这一点--相干映射或流映射。 现在,我们需要缓存一致的缓冲区。但是,我们没有做任何分散/收集,所以我们想要
dma
_map_single调用的好处。我们已经在引导中预留了一些连续内存,所以我们总是有足够的连续内存可用。所以我想知道,我们能不能用
dma
_alloc_coherent返回的虚拟地址调用
dma
_alloc_coherent,然后再调用
dma
_map_single呢?然后将映射单的返回
物理地址
设置为
dm
浏览 2
提问于2013-08-02
得票数 3
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
物理地址(MAC地址)是什么?
DMA分区计量探讨
FreeBSD 14 将用 dma 取代 sendmail
一条命令揪出ssh登录者物理地址
DMA基金会的联盟责任计划
热门
标签
更多标签
云服务器
ICP备案
对象存储
即时通信 IM
腾讯会议
活动推荐
运营活动
广告
关闭
领券