F103RE SDIO DMA开启后进入HardFaultHandler

2019-07-21 04:49发布

大家好,小弟最近用STM32F103RET6 做一个 SDIO + DMA + FATFS 快速读取的功能。

目前的问题是:

11.jpg

从上图可知,程序启动后,初始化很多内容。 首先SD_Init( )中 使用 errorstatus=SD_SetDeviceMode(SD_POLLING_MODE);, 这么做 程序都没有问题,SD卡工作正常,经过测试都没有出现问题。

然后,将其改为errorstatus=SD_SetDeviceMode(SD_DMA_MODE);, 启动后发现了问题,程序卡在
printf("f_mount !!! ");
  f_mount(fs[0],"0:",1);

卡在挂在f_mount这个地方,就下不去了(下面的printf("exf_getfree !!! "); 没有被调用)。

然后通过单步调试,发现程序进入HardFaultHandler。

然而,SD_Init( )在 errorstatus=SD_SetDeviceMode(SD_DMA_MODE); 条件下,其返回值是0, 并没有出现错误值。

现在是一头雾水,不知如何查起,请问大家可否有方法解决呢?
谢谢!!


0条回答

一周热门 更多>