liquan1010 发表于 2012-3-1 10:07:46

rtt stm32f407 sd驱动不能进DMA中断问题

rtt是svn最新的,sd的fatfs在无rtt环境下移植通过,将这部分添加到rtt中,在rt_hw_msd_init(), 读取0扇区

status = SD_ReadBlockEx((uint8_t*)sector, 0, 512);
status = SD_WaitReadOperation();
while (SD_GetStatus() != SD_TRANSFER_OK);

代码阻塞在SD_WaitReadOperation(),未能进入中断执行 SD_ProcessDMAIRQ()

请问可能是哪方面的原因?

liquan1010 发表于 2012-3-2 11:32:51

有没有哪位朋友做过 stm32f4 rtt 的sd?

rdghx 发表于 2012-3-2 19:38:32

SD初始化函数放到init thread entry里面最前,试试。

liquan1010 发表于 2012-3-3 08:20:16

修改st f407的sd参考程序始终没能通过,最后用f207的sd参考程序修改的

rdghx 发表于 2012-3-3 10:25:30

注意在进入第一个thread (init)后,stm32总中断才被打开。读取0扇区采用中断方式的话,要在总中断开情况下才行。

liquan1010 发表于 2012-3-6 08:22:21

谢谢

liuyufeng73 发表于 2012-3-6 20:40:21

在用DMA传输过程中是否产生了OVERRUN标志。

cht-rtos 发表于 2012-3-11 09:18:53

用407库中的例子改,我试过没有问题
rt_hw_msd_init()放到线程中
页: [1]
查看完整版本: rtt stm32f407 sd驱动不能进DMA中断问题