腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
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。在过去,我使用Zynq PS中的PL330来
驱动
DMA
引擎。我的I2S控制器过去在它的AXI-L
浏览 57
提问于2017-02-24
得票数 3
2
回答
什么是
linux
内核上下文中的
DMA
映射和
DMA
引擎?
、
、
、
、
什么是
linux
内核上下文中的
DMA
映射和
DMA
引擎?什么时候
DMA
映射API和
DMA
引擎API可以在
Linux
设备
驱动
程序中使用?任何真正的
Linux
设备
驱动
程序示例作为参考都是很好的。
浏览 10
提问于2015-12-25
得票数 10
1
回答
如何在
Linux
下访问
DMA
、
、
我正在用
Linux
编写一个设备
驱动
程序,我需要为它实现
DMA
。 很明显,可以通过调用pci_alloc_consistent()来分配
DMA
缓冲区
。但是我们如何从用户级别向这些
缓冲区
写入命令呢?任务包括将值写入特定的寄存器,这些任务是如何使用
DMA
命令实现的?
浏览 12
提问于2012-02-12
得票数 1
1
回答
DMA
引擎超时和
DMA
内存映射
、
、
、
、
我正在尝试使用
Linux
驱动
程序。当前,当我发送事务并开始等待时,我的请求就会超时。我相信这与我在执行
DMA
映射时设置
缓冲区
的方式有关。Xilinx的
DMA
驱动
程序中,他们特别注意内存对齐。的源
缓冲区
和目标
缓冲区
。我唯一的猜测是,它将在虚拟内存中对齐源
缓冲区
和目标
缓冲区
的开头。 看看我用kmalloc和kzalloc设置
缓冲区
的方式,我能保证
缓冲区
从页面边界开始吗?我说得对吗?我需
浏览 0
提问于2018-02-07
得票数 1
回答已采纳
1
回答
是否有可能在
Linux
中进行内存到内存的
DMA
传输?如果是,什么函数调用
DMA
开始传输?
、
我和我的朋友正试图为一个高级操作系统类编写一个虚拟设备的设备
驱动
程序(读:不是PCI或USB)。我们使用的是Ubuntu 16.04。我们的任务是在我们的
驱动
程序中调用IOCTL,并给它一个充满RGB值的源
缓冲区
(一个整数数组)、一个空的目标
缓冲区
和一个长度。我们将调用
DMA
控制器将源
缓冲区
的内容传输到目标
缓冲区
,然后对目标
缓冲区
中的值应用线性转换。 我们已经成功地完成了不使用
DMA
的转换,并且成功地为设备分配了
DMA</em
浏览 4
提问于2017-06-21
得票数 2
2
回答
如何从cdev获取设备
、
、
我将模块注册为cdev,使用
dma
_alloc_coherent()分配空间,我想使用
dma
_common_mmap()映射它。
dma
_common_mmap()需要一个指向struct device的指针:如何获取它?
浏览 0
提问于2015-11-20
得票数 5
2
回答
在ARM
DMA
_ZONE上增加
Linux
i.MX287内存
、
、
、
、
我正在一个嵌入式
Linux
系统中工作,它有2.6.35.3内核。 在设备中,我们需要为数据捕获
驱动
程序之一提供一个4MB+192kB连续
DMA
缓冲区
。
驱动
程序使用SPI传输将数据复制到此
缓冲区
。用户空间应用程序发出mmap系统调用,将
缓冲区
映射到用户空间,然后直接读取可用数据。
缓冲区
是使用"alloc_bootmem_low_pages“调用分配的,因为不可能使用其他方法(如kmalloc )分配超过4MB的
缓冲区
。但是,由
浏览 9
提问于2017-06-06
得票数 2
5
回答
将
DMA
缓冲区
映射到用户空间
、
、
、
我正在
linux
-2.6.26上写一个设备
驱动
程序。我想有一个映射到用户空间的
dma
缓冲区
,用于从
驱动
程序向用户空间应用程序发送数据。请推荐一些好的教程。 谢谢
浏览 9
提问于2010-07-26
得票数 11
2
回答
为32位PCI设备编写Windows 64位设备
驱动
程序
、
、
、
、
我正在评估移植我几年前编写的32位到64位的设备
驱动
程序。物理设备是32位PCI卡。也就是说,设备是32位的,但我需要从Win7x64访问它。该设备向Windows世界提供一些寄存器,然后将大量总线主控数据传输到
驱动
程序分配的内存块中。 我在微软的文档中读到过,你可以用信号来表示
驱动
程序是否支持64位
DMA
。如果没有,则
DMA
是双缓冲的。我的
驱动
程序将/可能是一个完整的64位
驱动
程序,因此它可以支持处理器地址空间中的64位地址,但实际的物理设备不支持它。这是否
浏览 0
提问于2012-12-14
得票数 5
1
回答
如何从内核空间收缩
Linux
页面缓存?
、
、
、
我在一个系统上工作,它涉及一些自定义硬件和我为硬件编写的自定义
Linux
设备
驱动
程序。系统偶尔需要非常快速地移动大量数据,因此我的
驱动
程序动态地(即在需要时)分配大量(1 GB)
DMA
缓冲区
,这些
缓冲区
被使用,然后在不再需要时释放。要分配如此大的
缓冲区
,我实际上使用
dma
_alloc_coherent分配了一组较小的
缓冲区
(256X4MB),然后使用remap_pfn_range将它们连续映射到用户空间。在测试期间,在系统运行测试用
浏览 0
提问于2015-08-11
得票数 4
2
回答
将静态数据结构用于
DMA
、
我有一个用于
linux
kernel (2.6.18)的
驱动
程序,其中我使用kmalloc(sizeof(my_struct_t),GFP_ATOMIC)来分配内存,这些内存后来被用于通过某些设备的
DMA
我定义了静态my_struct_t my_struct;我的问题是:禁止对
dma
使用静态(全局)
缓冲区
吗?如果是,那么这些
缓冲区
在内核内存映射中的确切位置。 谢谢
浏览 3
提问于2009-12-03
得票数 3
回答已采纳
2
回答
获取
Linux
下
缓冲区
的物理地址
、
、
、
、
我在Xilinx的Microblaze上运行
Linux
内核3.3,带有完整的MMU。我正在做的任务要求我知道以下内容:我需要创建一个文本文件(
缓冲区
)并定位这个
缓冲区
的物理地址,并且我不希望内核将这个文件写入不连续的内存区域。之所以需要这样做,是因为我有一个
DMA
引擎,可以从预设的物理内存地址流式传输数据,所以我需要强制
Linux
在那个确切的内存位置创建缓冲文件,这样当我将数据写入这个文件时,它会立即由
DMA
引擎传输到另一个硬件核心将从其流出的源地址,然后程序员可以在该确切地址中放置文件
浏览 11
提问于2013-06-13
得票数 7
1
回答
刷新虚拟地址范围
、
、
我正在开发一个
Linux
内核模块,它与使用
DMA
访问DDR的硬件组件接口。(运行在arm SoC上)我似乎不明白缓存刷新/失效是如何工作的。使用内核3.14
浏览 3
提问于2016-03-23
得票数 0
回答已采纳
1
回答
如何使用FBO提高glTexImage2D性能
、
、
我从相机上抓取了1280x960RGB的
缓冲区
,并使用glTexImage2D在gpu上渲染。 然而,对于1280x960分辨率的帧,glTexImage2D调用大约需要25毫秒。如何使用帧
缓冲区
对象进行渲染。我发现了一些FBO示例,但我发现这些示例在最后一个参数( glTexImage2d )中传递了NULL。那么我如何用FBO渲染pCameraBuffer呢?
浏览 16
提问于2019-07-02
得票数 0
1
回答
从连续的物理内存写入硬盘
、
、
、
、
我有一个基于ARM的设备,运行
linux
,它连接到一个摄像头,我正试图高效地将捕获的帧存储到高清上。我正在开发用户空间,但可以随意修改
驱动
程序 使用
DMA
写入内存的帧,我有它们的物理内存指针。我能够控制所有的帧捕获流,并且可以判断帧
缓冲区
何时是稳定的(从video4
linux
驱动
程序中排队)。找到一种方法将
缓冲区
的物理地址(我可以从我的Video4
Linux
驱动
程序获得)直接传递到文件系统/硬盘<e
浏览 1
提问于2012-12-10
得票数 2
2
回答
TCP/IP中用于数据包处理的中断代码是什么?
、
、
、
、
我在
Linux
x86_64上使用基于以太网的TCP/IP 10 Gbit/s。这是真的吗?中断代码计算IP包校验和 中断代码将数据从内核空间
缓冲区
复制到所需的套接字
缓冲区
。中断代码将数据从以太网卡上的
缓冲区
复制到内核空间中的
缓冲区
(或者在产生中断之前,使用以太网上的
DMA
控制器,这是由以太网卡启动的吗?)
浏览 8
提问于2015-01-21
得票数 0
回答已采纳
2
回答
DMA
事务每次都需要复制到
缓冲区
?
、
、
这可能是一个愚蠢的问题,但到目前为止,我还没有了解
DMA
。当对内存DMAing执行内存时,需要分配
DMA
缓冲区
(例如使用
dma
_alloc_coherent()),然后对于每一次传输,我们需要将
缓冲区
复制到分配的内存(源
缓冲区
),然后触发
DMA
事务。将源复制到目标-而不带
DMA
的步骤 将
缓冲区
(memcpy(
浏览 4
提问于2016-09-06
得票数 1
回答已采纳
2
回答
如何从
linux
用户空间进行数据缓存刷新/失效
、
、
、
、
试图在
linux
用户空间中使用可缓存的映射
缓冲区
。加速器将访问这些缓冲器。在ARMv7 7-A体系结构中,是否有可能显式地从
linux
用户空间刷新/失效数据缓存?
浏览 4
提问于2015-12-16
得票数 5
1
回答
在多个进程之间共享
dma
buf
、
、
我正在尝试理解
linux
内核中的
dma
buf框架,并阅读这篇文章。 用户空间实体请求文件描述符(fd),它是与
缓冲区
关联的匿名文件的句柄。然后,它可以与其他
驱动
程序和/或进程共享fd。所以,我认为如果我们把它传递给另一个进程(传递的fd在这个进程上下文中是无效的),它如何获得
dma
buffer的句柄?”
浏览 7
提问于2014-10-02
得票数 3
1
回答
用户空间
缓冲区
与内存映射文件之间的
DMA
、
、
、
内存通过用户空间
DMA
:在
linux
中可以通过用户空间
DMA
实现memcpy吗?我知道有一些方法可以通过
DMA
将内核
缓冲区
复制到用户空间
缓冲区
,但是想要在用户空间中通过
DMA
对memcpy进行扩展吗?
浏览 1
提问于2014-04-07
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux驱动系列-PWM驱动
零拷贝技术在 Java 中为何这么牛?
Libc Realpath缓冲区下溢漏洞,可导致Linux本地提权
Linux设备驱动开发
键盘敲入 A 字母时,期间发生了什么....
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券