|
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寄存器状态位发现传输已经完成。 请问大家有没有遇到这种情况,这究竟是什么原因? |
STM32H747XIH6 CM7正常运行 CM4不能正运行
【经验分享】STM32H7 DMA+UART不定长接收实战:解决缓存溢出与数据错位问题
STM32H725的LSE不起振
STM32H747XI CM7正常运行 CM4不运行
stm32h7s78-dk烧录
STM32Programmer能识别芯片,Keil无法识别
STM32H7进入BOOTLoader模式
stm32H743使用CubeMxAi导入模型文件,需要将测试数据进行识别,不知道如何传入参数
STM32H725VGT3内存不足问题
STM32H7A3 怎样配置MDMA的硬件触发MDMA_REQUEST_DMA1_Stream0_TC将数据再次转运
微信公众号
手机版
你说测试了2种情况,两种情况你具体是用的哪个DMA?
你现在是M to M,你的源数据是否真正写到内存了,建议你先关闭D-CACHE或针对源区开启透写功能;
还有,请注意下 有无访问对齐方面的问题。
你说测试了2种情况,两种情况你具体是用的哪个DMA?
你现在是M to M,你的源数据是否真正写到内存了,建议你先关闭D-CACHE或针对源区开启透写功能;
还有,注意 各DMA有各自的访问区域限制,尤其通用DMA不是无所不达,再就是注意有无访问对齐方面的问题。
感谢大佬,原来是我没有关闭Dcache的原因,小弟想问一下Dcache怎么会影响DMA传输的呢?
开启D-CACHE导致DMA传输产生异常 很常见。 其中 原因 这里没法一句两句说清楚。 核心就是注意数据一致性问题。
十分感谢