
MDMA和DMA1/2,配置为存储器到存储器,分别测试了两种情况: 1、源地址:0x24000000(AXI SRAM),目的地址:0x24010000(AXI SRAM),源地址后4kb全部初始化为0xFF,目的地址后64kb全部初始化为0,传输64kb数据,发现目的地址传输到数据有部分丢失,隔10几个地址就全是0(猜测未传输成功) 2、源地址:0x30000000(D2域 SRAM1),目的地址:0x30004000(AXI SRAM2),源地址后4kb全部初始化为0xFF,目的地址后4kb全部初始化为0,使能SRAM1和SRAM2时钟,传输4kb数据,发现目的地址到所有值都未变化,但查看相应DMA寄存器状态位发现传输已经完成。 请问大家有没有遇到这种情况,这究竟是什么原因? |
STM32H745启动与烧录问题
stm32H7 LTDC控制器 CLUT模式寄存器配置
STM32H750B-DK 板载STLINK 无程序
STM32CUBEMX最新版本6.14.1出现BUG
nucleo板子自带的stlinkv3坏了咋整
STM32H747 全新板子USB接口,插拔第一次连接的上,之后就再也连接不上。
STM32H747 的USB口,烧录程序就损坏。提示“NO DFU capable USB device available”
stm32h563 无法完全整片擦除
开发逆变器进行STM32学习,路径如何规划?
STM32H745IGT6芯片丝印
你说测试了2种情况,两种情况你具体是用的哪个DMA?
你现在是M to M,你的源数据是否真正写到内存了,建议你先关闭D-CACHE或针对源区开启透写功能;
还有,请注意下 有无访问对齐方面的问题。
你说测试了2种情况,两种情况你具体是用的哪个DMA?
你现在是M to M,你的源数据是否真正写到内存了,建议你先关闭D-CACHE或针对源区开启透写功能;
还有,注意 各DMA有各自的访问区域限制,尤其通用DMA不是无所不达,再就是注意有无访问对齐方面的问题。
感谢大佬,原来是我没有关闭Dcache的原因,小弟想问一下Dcache怎么会影响DMA传输的呢?
开启D-CACHE导致DMA传输产生异常 很常见。 其中 原因 这里没法一句两句说清楚。 核心就是注意数据一致性问题。
十分感谢