腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
绕过tty
层
并复制到
用户
、
、
、
、
我想将数据从从串口接收数据的内核模块复制到
用户
空间,并将其传输到
DMA
,后者将数据转发到tty
层
,最后转发到
用户
空间。当前流是串行驱动程序FIFO->
DMA
-> tty
层
->
用户
空间(在计时器过期时,从
DMA
到tty
层
的数据被清空)。串行驱动程序FIFO->
DMA
->
用户
空间。(我不介意用计时器将数据发送到
用户
空间,如果有更好的方
浏览 5
提问于2013-09-26
得票数 3
1
回答
用户
空间缓冲区与内存映射文件之间的
DMA
、
、
、
内存通过
用户
空间
DMA
:在
linux
中可以通过
用户
空间
DMA
实现memcpy吗?我知道有一些方法可以通过
DMA
将内核缓冲区复制到
用户
空间缓冲区,但是想要在
用户
空间中通过
DMA
对memcpy进行扩展吗?
浏览 1
提问于2014-04-07
得票数 1
回答已采纳
1
回答
Linux
PCIe
DMA
驱动程序
、
、
、
我目前正在为PCIe设备编写一个驱动程序,该驱动程序应该使用
DMA
将数据发送到
Linux
系统。据我所知,我的PCIe设备需要一个
DMA
控制器(
DMA
主),我的
Linux
系统也需要(
DMA
从机)。目前,PCIe设备没有
DMA
控制器,不应该有一个控制器。这让我很困惑。 启动从内存映射的PCIe寄存器到的
DMA
传输。从
用户
空间中的内存中读取数据
浏览 13
提问于2019-07-09
得票数 1
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
回答
将JPEG图像发送到AXI4流中并将其读回?
、
、
、
、
我正在Zedboard Zynq评估板上做一个图像处理项目,使用的是构建在上面的FPGA。我已经使用HLS编写了图像处理块,并创建了输入和输出均为宽度为8的AXI4流的IP。有没有现成的IP可以做到这一点?
浏览 5
提问于2017-11-10
得票数 1
1
回答
Linux
内核:可以让流式
DMA
映射无限期地打开吗?
、
、
许多关于设备驱动程序编程的指南建议,流式
DMA
映射(即那些由
dma
_map_single()和朋友创建的映射)应保持尽可能短的开放时间,因为它们消耗资源(即IOMMU映射资源,如果平台有资源,或者在需要时使用反弹缓冲区在我的例子中,我使用的是能够进行64位
DMA
的PCIe设备,所以应该不需要反弹缓冲区(在这种情况下,似乎也不需要来自IOMMU的特殊处理,对吧?)。数据来自设备(例如,它与
DMA
_TO_CPU映射),当有新数据可用时,设备通过中断通知我,此时我在访问刚通过
DMA
发送给我的数据之前触发
浏览 3
提问于2014-01-08
得票数 5
4
回答
如何获得
Linux
字符设备的struct设备?
、
、
我有一个
Linux
内核模块,它实现一个字符设备驱动程序。我已经阅读了,并学习了几个教程。至此,我有了一个简单的模块,它提供了open、release和write文件操作。我试图使用通用
DMA
层
来创建流
DMA
映射。我对LDD的以下摘录感到困惑: 下面的许多函数都需要一个struct device。这种结构是
Linux
设备模型中设备的低级表示.这并不是驱动程序经常需要直接使用的东西,但是在使用通用
DMA
层
时,您确实需要使用它。通常,您可以在描述设备的总线特定的内部找到这种
浏览 8
提问于2015-03-03
得票数 6
1
回答
将驱动程序包括文件复制到
linux
文件夹
、
、
我已经成功地编写了一个驱动程序和一个应用程序来测试它,下面是BR
用户
手册:my_
dma
:应用程序 define MY
浏览 0
提问于2018-07-11
得票数 1
1
回答
如何在Snap巨龙芯片组上使用Android中的
DMA
-BUF?
、
、
、
我意识到存在用于同一任务的
DMA
-Buf堆,但我不能将头文件添加到我的项目中并将其链接到其中。我下载了AOSP,但不确定下一步该做什么。
浏览 7
提问于2022-06-16
得票数 0
1
回答
为什么当我在
Linux
中与GFP_
DMA
一起使用kmalloc时,我会得到一个高地址?
、
、
、
我正在为
Linux
中的
DMA
设备编写设备驱动程序。在中,它说: physical_pointer0 = kmalloc(number_of_bytes, GFP_
DMA
); printk(KE
浏览 5
提问于2012-09-09
得票数 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
操作的页面发送到
、
、
这是关于
Linux
(与驱动程序相关的)的问题。假设我们有一些硬件,能够进行大型
DMA
访问(多线程读写,您可以考虑CUDA卡或网卡)。将传送到/从设备的数据分配在
用户
空间中,并放置在
用户
空间中。因此,我认为正确的方法是使用
DMA
访问mlock()内存范围。然后
用户
进程将调用我的驱动程序来启动
DMA
传输。在传输启动后,我的
用户
空间进程仍在其他线程中工作。过了一段时间,当我相信数据被传输时,我想做munlock()内存范围从
用户
浏览 2
提问于2013-09-21
得票数 1
回答已采纳
1
回答
带iommu=on和不带VFIO的
Linux
用户
空间
DMA
、
、
Linux
用户
空间应用程序是否有可能在不被IOMMU阻塞和不使用VFIO的情况下为
DMA
使用自己的内存?但是,当启用IOMMU (intel_iommu=on)时,它不能工作,因为我们在
用户
空间中分配的内存不允许
DMA
。官方的解决方案是使用
Linux
接口来管理IOMMU,但是我们认为VFIO特性还不是很成熟,我们更希望找到一个更简单的解决方案。 我们能否以某种方式指示IOMMU为我们分配的物理内存允许
DMA
?这将是很棒的,因为这样我们就不必指示我们的
用户</em
浏览 4
提问于2015-05-01
得票数 3
1
回答
如何从内核空间收缩
Linux
页面缓存?
、
、
、
我在一个系统上工作,它涉及一些自定义硬件和我为硬件编写的自定义
Linux
设备驱动程序。要分配如此大的缓冲区,我实际上使用
dma
_alloc_coherent分配了一组较小的缓冲区(256X4MB),然后使用remap_pfn_range将它们连续映射到
用户
空间。在测试期间,在系统运行测试用例很长一段时间后,我有时会看到
DMA
分配失败,驱动程序中的一个
dma
_alloc_coherent调用失败,这导致我的应用
层
软件崩溃。我终于能够追踪到这个问题,我发现当我看到
DMA
分配
浏览 0
提问于2015-08-11
得票数 4
1
回答
Linux
:使用DMAengine进行分散收集事务
、
、
、
、
/platform_device.h>#include <
linux
/
dma
-mapping.h>#include <
linux
/of_
dma
.h> #define S
浏览 11
提问于2016-05-09
得票数 4
回答已采纳
1
回答
让
用户
读写物理地址的
dma
_common_mmap文档
、
、
我正在尝试编写一个
Linux
内核模块,以便使用
dma
_common_mmap()将一些地址映射回
用户
。然后,我希望
用户
映射并写入/读取地址空间。我现在的主要问题是我找不到
dma
_common_mmap()的文档,有吗?我已经搜索过,但没有找到如何使用它,并让
用户
读/写地址。
浏览 22
提问于2016-06-07
得票数 1
回答已采纳
3
回答
如何从软件工具向Zynq中的AXI-Stream发送数据?
、
、
、
、
就像这样send_data(data); 我在Arm部分运行
Linux
,现在我想把它连接到可编程逻辑部分。
浏览 2
提问于2015-06-02
得票数 7
2
回答
DMA
引擎和
DMA
控制器有什么区别?
、
、
如前所述,
dma
引擎和
dma
控制器(关注
linux
)之间有什么区别?
linux
引擎什么时候出现?这是一个特殊的设备,还是所有支持
dma
的外围设备的一部分?在浏览
linux
源代码时,我找到了驱动程序ste_
dma
40.c。司机是如何使用这个引擎的?
浏览 5
提问于2017-05-26
得票数 8
回答已采纳
2
回答
如何从
linux
用户
空间进行数据缓存刷新/失效
、
、
、
、
试图在
linux
用户
空间中使用可缓存的映射缓冲区。加速器将访问这些缓冲器。在ARMv7 7-A体系结构中,是否有可能显式地从
linux
用户
空间刷新/失效数据缓存?
用户
空间应用程序在
用户
模式下运行,我们是否需要为缓存操作设置任何特权模式权限。 更多的信息会有帮助。
浏览 4
提问于2015-12-16
得票数 5
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux是如何将硬盘展示给用户的,从物理设备到通用块层
Linux 切换用户
Linux 杂志之死!死于吝啬的 Linux 用户
深入理解 Linux的I/O 系统
Linux管理用户、用户组权限
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
云直播
活动推荐
运营活动
广告
关闭
领券