|
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寄存器状态位发现传输已经完成。 请问大家有没有遇到这种情况,这究竟是什么原因? |
有人用过PVD在掉电瞬间写Flash
STM32H743 配置USBOTG 使用U盘几周后 stm32无法识别usb
STM32H7R7的SPI DMA双缓冲怎么做。
在STM32CubeIDE 中用sprintf,printf总感觉差点什么
STM32H743使用Keil V6(AC6)编译FreeRTOS报错__forceinline未定义及CMSIS-RTOS2配置错误,如何解决?
NUCLEOh753zi
stm32H745 M4核不能调试和下载
关于H750VB的SDMMC开启DMA读写SD卡
FDCAN如何处理大于64帧字节的数据
stm32h745 调试问题
微信公众号
手机版
你说测试了2种情况,两种情况你具体是用的哪个DMA?
你现在是M to M,你的源数据是否真正写到内存了,建议你先关闭D-CACHE或针对源区开启透写功能;
还有,请注意下 有无访问对齐方面的问题。
你说测试了2种情况,两种情况你具体是用的哪个DMA?
你现在是M to M,你的源数据是否真正写到内存了,建议你先关闭D-CACHE或针对源区开启透写功能;
还有,注意 各DMA有各自的访问区域限制,尤其通用DMA不是无所不达,再就是注意有无访问对齐方面的问题。
感谢大佬,原来是我没有关闭Dcache的原因,小弟想问一下Dcache怎么会影响DMA传输的呢?
开启D-CACHE导致DMA传输产生异常 很常见。 其中 原因 这里没法一句两句说清楚。 核心就是注意数据一致性问题。
十分感谢