直接存储器访问(DMA)是现代计算机和微处理器的一个特征,它允许计算机内的某些硬件子系统访问系统存储器,以便独立于中央处理单元进行读取和/或写入。
我正在使用CubeIDE进行开发。我想以一致的采样率对模拟引脚进行采样,并且我希望采样率尽可能高。因此我将 PCLK2 配置为以 72 MHz 运行,
dma_set_mask_and_coherent(),具有适用于 arm64 上 PCIe 的 24 位 DMA 掩码
我正在编写 PCIe 驱动程序,但在设置 DMA 掩码时遇到问题。 主机是带有四核 ARM-Cortex A53 的 zcu102。 PCIe 设备是自定义设备。 内核是v5.15.0-1023-xilinx-zyn...
dma_set_mask_and_coherent 具有 24 位 DMA 掩码,适用于 ARM64 上的 PCIe
我正在编写 PCIe 驱动程序,但在设置 DMA 掩码时遇到问题。 主机是带有四核 ARM-Cortex A53 的 zcu102。 PCIe 设备是自定义设备。 内核是 5.15.0-1023-xilinx-zynqmp
是否可以在 STM32F3 上使用 DMA 通过 SPI 传输无限数据?
我正在开发一种基于新协议的 RF 调制解调器,该调制解调器具有在一帧中传输 96 字节的功能 - 但它们会在通信结束之前不断发送。我计划使用两个 96 字节缓冲区...
我想使用 DMA 在连续扫描模式下读取 4 个 ADC 通道(PA0、PA1、PA2 和 PA3),问题是一旦 uC 运行程序,它只执行一个 ADC 读取序列,然后得到“. ..
我已通过 Jtag、tftpboot 将 linux 引导到我的 ZYNQ 7000 (AVNET) 板上。接下来,使其从 QSPI 启动。 本项目的目的是通过DMA在PS和PL之间传输数据。我已经做到了...
STM32G030 / CRC_DR / 如何使用32位写入?
不知何故,当我使用 CRC_DR 的字访问时,我没有得到 0xD0FA 和 0x12345678 和 16 位 POLY 0x1021。 示例:伪代码: RCC.CRCEN=1; CRC_CR.POLYSIZE=0b01; CRC_POL=0x1021; CRC_INIT=0; CRC...
我无法使用 DMA (STM32F407ZGT6) 从 USART 获取数据
我使用标准外设库编写了一个驱动程序,从USART6_RX获取数据并将其通过DMA保存在STM32F407ZGT6芯片上的内存中。 USART 无需 DMA 即可工作,但使用 DMA 则不会发生任何情况。 ...
我想知道某个页面是否固定在物理内存中,即不可交换或不可迁移。 从这篇文章中,我知道 get_user_pages() 通常用于固定驱动程序中的用户空间内存以执行...
我的理解是,当NIC适配器接收到新数据包时,上半部分处理程序使用DMA将数据从RX缓冲区复制到主存储器。我认为这个处理程序不应该退出或释放...
我正在开发 IA64 的 Linux 模块。我当前的问题是驱动程序使用 PAGE_SIZE 和 PAGE_SHIFT 宏进行 dma 页面分配。我遇到的问题是机器编译...
我需要在另一个外部信号的每个下降沿通过 DMA 从某些 GPIO 引脚读取数据。我将时钟信号设置为TIMER外部时钟(下降沿)并将PSC值和ARR值设置为0。...
我遵循了 DMA API https://www.kernel.org/doc/Documentation/DMA-API-HOWTO.txt 并且我了解 DMA 有 2 种方法: 一致的 DMA 映射 - 例如
无法将数据库从 SQL Server 迁移到 Azure SQL
我在使用 dma 将 SQL Server 数据库迁移到 Azure 时收到以下错误 一个意料之外的问题发生了。 无法将数据从源数据库“AdventureWorks2019”迁移到目标数据库...
ARM Cortex-M7 (STM32F7) MCU 上的 DMA 操作存在数据损坏问题
我正在使用 ARM Cortex-M7 微控制器(特别是 STM32F767ZG)通过 4 个 USART(配置为异步发送器/接收器,并使用 DMA 来与外部设备通信)...
什么情况下dma_alloc_coherent()函数的*dma_handle返回物理地址?
在linux中,函数dma_alloc_coherent()具有这种形式(在include/linux/dma-mapping.h中声明) 静态内联无效* dma_alloc_coherent(结构设备* dev,size_t大小, dma_addr_t *dma_h...
正如我们所知,分散列表收集物理上分散在内存中的内存,但实际上是连续的。当与 DMA 通信时,它向 DMA 提供内存的抽象视图...
我在 dma 的循环扫描模式下使用多通道(7 个通道)adc1。我使用 ll 函数并在 dma_stream_IRQHandler 函数中读取 adc 值。这些值不准确且稳定。adc 采样时钟是
使用 DMA 的 STM32 UART RX:DMA 未启动
我有一些工作的基于中断的UART接收代码,并且想将其转换为使用DMA。 UART 正在接收字符,但 DMA 未处理它们。 处理器是STM32F030K6,使用
IOBufferMemoryDescriptor::Create 返回 kIOReturnNotReady
我正在 MacOS 中编写一个用户空间应用程序来使用 DMA,其方式与 Linux 的 dmabuf 类似。 我使用 IOBufferMemoryDescriptor::Create(kIOMemoryDirectionInOut...