硬汉嵌入式论坛

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

[SD/SDIO] HAL库cube配置MSC+CDC双模+FATFS+sd卡出现读写异常

[复制链接]

1

主题

10

回帖

13

积分

新手上路

积分
13
发表于 2024-11-21 11:34:56 | 显示全部楼层 |阅读模式
首先是插上有时候直接掉盘,其次是插上读写后会出现错误0x80070022:驱动器中的软盘不对,然后掉盘,重新插拔后出现盘符但是硬件已经不能使用,格式化后又可以,然后重复读写又会这样,SD卡配置是一线模式+dma,中断是system定时器》SD》DMA》USB
回复

使用道具 举报

1

主题

10

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2024-11-21 11:48:52 | 显示全部楼层
删除文件后,文件名还是存在
回复

使用道具 举报

1

主题

10

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2024-11-21 14:07:27 | 显示全部楼层
        fs->wflag = 0; fs->winsect = 0xFFFFFFFF;        /* Invaidate window */
        if (move_window(fs, sect) != FR_OK)                        /* Load boot record */
                return 3;定位问题到这里,return了3所以报了硬件错误
回复

使用道具 举报

1

主题

10

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2024-11-21 14:41:03 | 显示全部楼层
换到单MSC功能的程序当中,没有问题,问题定位在中断或者复合功能上
回复

使用道具 举报

1

主题

10

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2024-11-21 14:56:02 | 显示全部楼层
重新烧录MSC代码执行通过,运行正常,问题应该出在USB复合功能或中断异常上,现在测试MSC+cdc复合功能程序
回复

使用道具 举报

1

主题

10

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2024-11-21 15:02:19 | 显示全部楼层
复合功能MSC+CDC功能正常,测试中断影响
回复

使用道具 举报

1

主题

10

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2024-11-21 15:28:52 | 显示全部楼层
改成和使用项目一样的中断优先级,还是没出问题,现在看其他外设中断影响
回复

使用道具 举报

1

主题

10

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2024-11-21 15:40:59 | 显示全部楼层
项目代码中中断处理函数屏蔽,while主循环中屏蔽,出现BUG,格式化U盘后再测试
回复

使用道具 举报

1

主题

10

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2024-11-21 16:22:33 | 显示全部楼层
问题基本找到,启动定时器中断后,传输大文件会卡死,出现复制失败的问题
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2024-11-22 09:34:09 | 显示全部楼层
qgddsj 发表于 2024-11-21 16:22
问题基本找到,启动定时器中断后,传输大文件会卡死,出现复制失败的问题

回复

使用道具 举报

1

主题

10

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2024-11-22 17:56:07 | 显示全部楼层

eric大佬有什么办法吗,就是sdio/DMA中断小于串口中断和定时器中断,会导致写数据SD卡会死掉的问题,屏蔽中断的话又影响串口高速接收时序
回复

使用道具 举报

0

主题

40

回帖

40

积分

新手上路

积分
40
发表于 2024-11-22 18:27:37 | 显示全部楼层
这还不简单,直接把U盘读写的操作,放到线程里面操作即可,加OS,
回复

使用道具 举报

1

主题

10

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2024-11-23 08:32:29 | 显示全部楼层
a13421364618 发表于 2024-11-22 18:27
这还不简单,直接把U盘读写的操作,放到线程里面操作即可,加OS,

除此之外还有办法吗
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2024-11-23 10:20:33 | 显示全部楼层
qgddsj 发表于 2024-11-22 17:56
eric大佬有什么办法吗,就是sdio/DMA中断小于串口中断和定时器中断,会导致写数据SD卡会死掉的问题,屏蔽 ...

设置SDIO为高优先级抢占式中断。是不是好点。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-14 02:06 , Processed in 0.043025 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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