x316639495 发表于 2023-3-30 11:50

GD32F450 SDIO+FATFS不稳定,连续工作十几小时后SD卡读写错误

本帖最后由 x316639495 于 2023-3-30 12:01 编辑

项目中使用GD32F450ZIT6作为主控,固件库为GD32F4xx_Firmware_Library_V3.0.4,通过4线SDIO+FatfsR0.14读写SD卡,SD卡为256GB高速卡exFAT分区格式。
SD卡写入两个文件,文件1:每250ms写入64KB,文件2:每秒写入512字节。每小时新建一个文件1和文件2进行存储。
目前MCU可以正常工作,但连续工作十几个小时后,SD卡会发生读写错误,破坏SD卡的文件系统,在电脑上无法打开SD卡,必须格式化。SDIO采用SD_POLLING_MODE和SD_DMA_MODE模式都会出现上述问题。
SDIO特定功能使能和SDIO读等待模式使能。这两个功能开启或不开启都会出现上述问题。
   
请问这个问题是什么原因引起的,有没有好的解决办法。

sagade 发表于 2023-3-31 15:27

会不会和FF_USE_FASTSEEK有关系。
一直写,导致文件太大出问题了?

美芯微半导体liu 发表于 2023-4-1 14:56

我是GD代理有需要优价一起交流13242085214

x316639495 发表于 2023-4-3 10:48

sagade 发表于 2023-3-31 15:27
会不会和FF_USE_FASTSEEK有关系。
一直写,导致文件太大出问题了?

不是,每小时保存一个文件,文件在950M。用SPI模式写SD卡是没有问题的,现在就是SDIO有问题,哪怕是SDIO单线模式,强制单块读写,还是出现相同的问题

sagade 发表于 2023-4-3 16:52

那会不会是字节对齐的关系?
dma_receive_config函数里面改成dma_struct.memory_width = DMA_MEMORY_WIDTH_8BIT; ?

zeshoufx 发表于 2023-4-3 17:20

只有这个功能吗,,其他外设或者中断什么的会不会影响

x316639495 发表于 2023-4-3 17:57

zeshoufx 发表于 2023-4-3 17:20
只有这个功能吗,,其他外设或者中断什么的会不会影响

其他功能都关闭了,就剩一个1ms的systick计时器

x316639495 发表于 2023-4-3 18:03

sagade 发表于 2023-4-3 16:52
那会不会是字节对齐的关系?
dma_receive_config函数里面改成dma_struct.memory_width = DMA_MEMORY_WIDTH_ ...

不是。不用DMA也还是一样的问题,

sagade 发表于 2023-4-3 18:36

我用450倒是没有问题,同样的程序烧录到470,重启大概3,4十次就有一次出现no file system.

zeshoufx 发表于 2023-4-3 21:59

x316639495 发表于 2023-4-3 17:57
其他功能都关闭了,就剩一个1ms的systick计时器

那就有点怪了

robincotton 发表于 2023-4-7 18:25

是不是频率太高了?            

burgessmaggie 发表于 2023-4-7 23:10

降低sdio的读写速度。            

Pretext 发表于 2023-4-13 11:02

估计把文件系统的描述都给覆盖了吧。

天天向善 发表于 2023-4-13 11:06

是不是新建文件的时候出现问题了?没有关闭上一个文件。

软核硬核 发表于 2023-4-13 11:09

SD卡有没可能是扩容的?

minzisc 发表于 2023-4-13 20:42

还是不够稳定。               

cemaj 发表于 2023-4-13 21:02

SDIO总线快了,至少四倍速。降低速度吧。

wengh2016 发表于 2023-4-13 21:20

fatfs应该不合适,效率太低了。

uiint 发表于 2023-4-13 21:42

fatfs 会很费单片机内存

eefas 发表于 2023-4-13 22:09

fatfs文件系统是sdio写入sd卡速度快还是spi速度快?
页: [1] 2 3 4 5 6
查看完整版本: GD32F450 SDIO+FATFS不稳定,连续工作十几小时后SD卡读写错误