DMA在STM32H7上不工作的解决办法
问题
将STM32F0的DMA代码移植到STM32H7上时发现DMA ErrorCode寄存器为1,无法正常工作
原因
DMA缓冲区内存被放置在DTCM,最好将DMA缓冲区放在D2域(SRAM1,SRAM2和SRAM3)内,因为D2到D1桥会增加额外的延迟。
标签 STM32H750 下的文章
问题
将STM32F0的DMA代码移植到STM32H7上时发现DMA ErrorCode寄存器为1,无法正常工作
原因
DMA缓冲区内存被放置在DTCM,最好将DMA缓冲区放在D2域(SRAM1,SRAM2和SRAM3)内,因为D2到D1桥会增加额外的延迟。
SDMMC
打开SDMMC2外设,Mode设置为SD 4 bits Wide bus
, 将does the board use uSD transceiver
禁用,时钟设置为32MHz。
FATFS
FATFS选项卡勾选SD Card
选项。这里需要注意:如果你的CODE_PAGE选择了非拉丁语言如中文,它将会生成代码页文件,该文件体积很大,STM32H750VB无法存储下来。会导致编译最后的链接失败。
进入FATFS的Platform Setting选项卡,在这里设置SD插入检测的引脚,将对应引脚GPIO设定为 Input 内部上拉,然后在这个页面选择该引脚即可。