本帖最后由 caojin85cn 于 2018-2-20 21:46 编辑 环境:WIN7 64bit + MDK5.20 硬件:stm32F7 Nucleo (F767Zi) STM32F7xx_DFP 版本2.9.0(目前最新的) SDMMC配置参数
DMA中断
目前的问题是 使用HAL库提供的函数:HAL_SD_WriteBlocks_DMA 直接写一个块或者多个块,函数返回值正常,也可以进入DMA传输完成中断,DMA也未报错 但是后续在读取数据时发现之前写入的数据全部都是0 而如果调用非DMA方式写入函数:HAL_SD_WriteBlocks 做同样的写入操作,则结果正常,后续读取数据也是和写入的一致 简单来说,就是通过DMA方式写入SD卡的数据全都是0 还求各位给点意见,可能是什么地方的问题?如何定位? 最近发现2.9.0版本的HAL库在SDMMC方面有一些Bug,会不会导致这个结果? 补充:DMA的读取结果是正常的 |
ST的hal库有问题手头有STM32L4或STM32F7的帮忙测试DMA SD卡
STM32F756 DCMI +GC0308 Camera图片不正常
STM32F722RET6无法被JLINK/STLIN和IAR/KEIL识别
STM32F767以太网换PIN脚无数据
STM32F7 DSP库使用
没有人分享一下STM32F767 硬JPEG 编码解码吗
求STM32F777与FPGA通过FMC通信的参考设计
求STM32F7 1.15版本 固件库
STM32F746使用HAL库串口无法中断收数据
STM32F7xx AXIM & ITCM
SD卡是Lexar 16G Class6 这个问题应该和SD卡无关,试过sony和kingston一样的结果
SDMMC1和SDMMC2都试过,结果一样
DMA2 Channel4 Stream3 Stream6
DMA2 Channel11 Stream0 Stream5
都试过,也是一样的结果
评分
查看全部评分
我这个只是测一下SD卡读写的,并没有使用文件系统
我的问题是Cache一致性导致的,做一下Cache同步就可以了
你这个看起来是文件系统相关的,需要具体看一下文件系统对DMA读写的要求了
请问下,楼主这个 cache是怎么一回事,怎么做同步呢,我的好像也是读写错误,需要加入延时才能成功。