硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1006|回复: 7
收起左侧

[技术讨论] STM32F4 std库 sdio sd 不好用

[复制链接]

78

主题

278

回帖

512

积分

金牌会员

积分
512
发表于 2024-10-4 14:31:44 | 显示全部楼层 |阅读模式
标准库里自带的SD卡驱动stm324xx_xxx_sdio_sd.c采用DMA模式不好用,裸机程序还凑合用,和UCOS-III组合用起来后发现DMA中断经常进来不了。判断为DMA中断和UCOS任务调度打架了。

最后改为POLLING模式才可以用。

在改为POLLING模式时候发现F4的代码并不完善,不能正常工作,最终参考的F1的SDIO库修改的POLLING模式才可以正常工作。

晚点等我测试稳定以后把代码分享上来。

有像我一样这样操作的吗。可以分享下代码。


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-10-5 14:28:18 | 显示全部楼层
你昨天回复的帖子,不是标准库的最终版,下面这个帖子里面的是最终版

继续提升STM32F4的4线SDIO DMA方式的读写稳定性,发布新版案例(2020-06-30)
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=98560
回复

使用道具 举报

78

主题

278

回帖

512

积分

金牌会员

积分
512
 楼主| 发表于 2024-10-5 16:18:07 | 显示全部楼层
本帖最后由 logo 于 2024-10-5 16:19 编辑
eric2013 发表于 2024-10-5 14:28
你昨天回复的帖子,不是标准库的最终版,下面这个帖子里面的是最终版

继续提升STM32F4的4线SDIO DMA方式 ...

我上了UCOS还有USB测试还是容易卡住,总是卡在下面这函数里,也不知道怎么回事儿。
怀疑我的应用太复杂了,实在不行就不用DMA了,直接POLLING如果没问题的话就用POLLING模式了。


[C] 纯文本查看 复制代码
void  CPU_SW_Exception (void)
{
    for (;;) {
        ;
    }
}

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-10-6 11:04:43 | 显示全部楼层
logo 发表于 2024-10-5 16:18
我上了UCOS还有USB测试还是容易卡住,总是卡在下面这函数里,也不知道怎么回事儿。
怀疑我的应用太复杂 ...

CPU_SW_Exception什么意思?
https://forum.anfulai.cn/forum.p ... 9616&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

78

主题

278

回帖

512

积分

金牌会员

积分
512
 楼主| 发表于 2024-10-6 13:23:21 | 显示全部楼层
eric2013 发表于 2024-10-6 11:04
CPU_SW_Exception什么意思?
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=89616&fromuid=58
( ...

我的程序是跑到这里了

微信截图_20241006132058.jpg

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-10-7 09:44:44 | 显示全部楼层
logo 发表于 2024-10-6 13:23
我的程序是跑到这里了

这个位置的话,是要在uCOS控制的中断优先级范围调用其API才是可以的。
回复

使用道具 举报

78

主题

278

回帖

512

积分

金牌会员

积分
512
 楼主| 发表于 2024-10-7 17:23:09 | 显示全部楼层
本帖最后由 logo 于 2024-10-7 17:27 编辑

测了两天POLLING模式目前用着还可以,这里分享修改过的程序。不需要使能SDIO及SDIO_DMA中断
stm324xg_eval_sdio_sd.c (95.54 KB, 下载次数: 2) stm324xg_eval_sdio_sd.h (17.57 KB, 下载次数: 1)

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-10-8 09:21:14 | 显示全部楼层
logo 发表于 2024-10-7 17:23
测了两天POLLING模式目前用着还可以,这里分享修改过的程序。不需要使能SDIO及SDIO_DMA中断

那你就用查询吧。

我这边一直用的DMA方式,好用。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 02:48 , Processed in 0.042125 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表