OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6306|回复: 10

F7读写大容量SD卡问题

[复制链接]

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2015-6-2
在线时间
24 小时
发表于 2017-10-26 21:49:03 | 显示全部楼层 |阅读模式
20金钱
最近做的项目遇到个很头疼的问题。STM32每次写入SD卡40KB的数据,SD卡是128G,写入一天正常,时间长了之后发现写入速度越来越慢,存入SD卡的数据越来越少。用的是原子哥fafts的例程,请问写入大数据,底层的有什么需要改的吗?@正点原子

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2017-10-27 01:04:33 | 显示全部楼层
你是不是零散的文件很多?文件多了,访问是会变慢的
回复

使用道具 举报

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2015-6-2
在线时间
24 小时
 楼主| 发表于 2017-10-27 08:28:04 | 显示全部楼层
正点原子 发表于 2017-10-27 01:04
你是不是零散的文件很多?文件多了,访问是会变慢的

原子哥,你说的零散文件是什么?我是每次往8个文件夹分别写入40KB的数据,单个文件的大小大概是2MB。调试发现大概是单个文件夹大小为4G之后就会丢数,扇区地址也都是6位的。
例程是不是对于大容量的存储不支持啊 ,还是需要修改什么参数。跪求了,这个问题困扰我1个多月了。
u8 SD_WriteDisk(u8 *buf,u32 sector,u8 cnt)
{   
    u8 sta=SD_OK;
//    long long lsector=sector;
    u8 n;
//    if(SDCardInfo.CardType!=STD_CAPACITY_SD_CARD_V1_1)lsector<<=9;
//    if((u32)buf%4!=0)
//    {
//        for(n=0;n<cnt;n++)
//        {
//            memcpy(SDIO_DATA_BUFFER,buf,512);
//            sta=SD_WriteBlocks_DMA((uint32_t*)SDIO_DATA_BUFFER,lsector+512*n,512,1);
//            buf+=512;
//        }
//    }else
//    {
//        sta=SD_WriteBlocks_DMA((uint32_t*)buf,lsector,512,cnt);
//    }
sta=SD_WriteBlocks_DMA((uint32_t*)buf,(uint64_t)(sector * 512),512,cnt);
    return sta;
}
回复

使用道具 举报

0

主题

10

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2017-10-27
在线时间
0 小时
发表于 2017-10-27 14:56:21 | 显示全部楼层
可以每天格式化试试
回复

使用道具 举报

3

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2017-10-27
在线时间
2 小时
发表于 2017-10-27 16:45:16 | 显示全部楼层
学习,帮顶
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2017-10-28 00:38:43 | 显示全部楼层
kobemrc 发表于 2017-10-27 08:28
原子哥,你说的零散文件是什么?我是每次往8个文件夹分别写入40KB的数据,单个文件的大小大概是2MB。调试 ...

FAT32最大的文件容量就是4GB
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

197

帖子

0

精华

高级会员

Rank: 4

积分
977
金钱
977
注册时间
2017-3-11
在线时间
78 小时
发表于 2017-10-28 08:38:41 | 显示全部楼层
太简单了
回复

使用道具 举报

68

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-3-2
在线时间
156 小时
发表于 2017-10-28 10:43:25 | 显示全部楼层
格式化成 exFAT就好了,具体参阅6#原子大神回复
回复

使用道具 举报

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2015-6-2
在线时间
24 小时
 楼主| 发表于 2017-10-29 15:13:10 | 显示全部楼层
正点原子 发表于 2017-10-28 00:38
FAT32最大的文件容量就是4GB

这个最大容量应该是针对单个文件的啊,我是每个文件大约在2MB。
回复

使用道具 举报

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2015-6-2
在线时间
24 小时
 楼主| 发表于 2017-10-29 15:20:11 | 显示全部楼层

求指教下啊!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2017-10-30 01:09:47 | 显示全部楼层
kobemrc 发表于 2017-10-29 15:13
这个最大容量应该是针对单个文件的啊,我是每个文件大约在2MB。

文件2M是没问题的,不超过4GB即可
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-19 01:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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