如何在Petalinux中访问XDMA BAR0?
我使用运行Petalinux的Zynq处理器有一个块设计和硬件配置。此外,我的XDMA IP配置为存储器映射端点。我已经在PCI栏选项卡中配置了BAR0和BAR2。 我正在…
arm64中dma区域的起始地址
上,可以从Arch/Arch/Arm/ARM/MM/MM/DMA-MAPPEDS中存在的变量“ Atomic_pool”和“ Atomic_pool_size”中找到DMA和大小的开始地址。 在ARM 32位计算机…
STM32从I2S DMA读取麦克风值(MP34DT05-A)
我想从 STM32F107 板读取 MEMS 麦克风 (MP34DT05-A) 值(ASCII 格式)。我正在使用 I2S 与麦克风通信。 我做了什么: 我尝试使用 HAL_I2S_Receive_DMA…
如何旋转数组以便我始终获得最后两个元素,无论我指向哪个索引? C代码
如果我说我正在计算需要插入多少个值才能完全填充数组,如何找到数组中两个先前值之间的差异?假设我们有一个包含 5 元素的数组。如果我指定索引0,那…
STM32F429 GPIO DMA 读写
你好, 我正在做一个项目,我想对 JTAG 协议进行位操作。 根据ST提供的AN4666,DMA + GPIO可以在bit-banging同步协议中实现高速。 我想: 生成N 个 PW…
当使用 STM32F3 进行 ADC 和 DMA 传输时,为什么在中断回调中内存位置仅写入一次?
我希望让我的 STM32F303 发现板使用 ADC 和 DMA 传输从温度传感器连续读取到内存位置,但在中断回调期间,内存位置似乎只被写入一次,并且随后不会更…
将 uint16_t 数组作为 uint32_t 指针访问
我正在使用一种 ARM 处理器,该处理器具有 2 个 16 位 ADC 作为一个 32 位值(可以将其视为读取立体声信号的两个通道)。我想获取 uint16_t[1024][2] …
STM32 正弦波可以工作,但音频文件会从 DAC 产生静电
我正在尝试使用 STM32F466RE 上的内部 DAC 播放简单的 WAV 文件。我有 DMA,按照 Timer4 设置的时间间隔写入 dac。使用正弦波,效果非常好: 正弦波示…
PCIE Linux 内核驱动程序中的流式 DMA
我正在为 Linux 内核开发 FPGA 驱动程序。代码似乎在 x86 上运行良好,但在 x86_64 上我遇到了一些问题。我实现了流 DMA。所以它就像 get_user_pages(…
如何在Linux中访问DMA
我正在 Linux 中编写一个设备驱动程序,需要为其实现 DMA。 很明显,DMA 缓冲区可以通过调用 pci_alloc_concient() 来分配。但是我们如何从用户级别向…
如果 DMA 控制器会降低系统速度,为什么还要使用它?
我在一本书上读到这样的话: 如果系统中的 DMA 控制器以最大 5 MHz 速率运行 我们仍然使用 100 ns 内存,最大传输速率为 5 MHz 因为DMA控制器比内存慢…
为什么在没有 DMA 的情况下使用套接字拼接无法提高性能?
在 维基百科对 splice 的介绍中,我发现: 当对套接字使用 splice() 时,网络控制器 (NIC) 必须 支持DMA。 当网卡不支持 DMA 时,splice() 将不会传送…
Linux 中 DMA 传输到从属 PCI 设备
我对 PCIe 设备的 DMA 传输有点困惑。 例如,我有一个从 PCIe 设备,我想使用 DMA 事务将数据块从设备传输到 RAM。请注意,该设备是从属设备,并且其…