OpenEdv-开源电子网

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

文件系统扇区大小和簇的疑问

[复制链接]

2

主题

7

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2013-3-5
在线时间
8 小时
发表于 2018-4-12 23:56:01 | 显示全部楼层 |阅读模式
10金钱
买了原子哥的F429开发板,里面例程FATFS实验中原子哥提到,SPI FLASH的扇区大小是4K,而文件系统强制将其扇区定义为 512 字节,这样一来文件系统操作SPI FLASH时会更加频繁的擦除和写入,这使得SPI FLASH寿命变短,这可以理解。但是在例程中格式化SPI FLASH时的代码是res=f_mkfs("1:",1,4096);//512*8=4096,即8个扇区为一个簇

文件系统不是以簇为单位来操作文件的吗?既然簇的大小就是4K,那为何还会更频繁的擦除扇区,对这一点十分不解,望大虾们指定迷津,谢谢了!!

最佳答案

查看完整内容[请看2#楼]

因为方便统一管理,Sd卡,,u盘都是设置的512字节。 如果你全部用4K,应该也可以,你可以慢慢改试下。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-4-12 23:56:02 | 显示全部楼层
因为方便统一管理,Sd卡,,u盘都是设置的512字节。 如果你全部用4K,应该也可以,你可以慢慢改试下。
回复

使用道具 举报

16

主题

339

帖子

0

精华

高级会员

Rank: 4

积分
868
金钱
868
注册时间
2017-6-18
在线时间
168 小时
发表于 2018-4-12 23:59:37 | 显示全部楼层
这个问题你不该管, 要么用用原子哥的, 要么用官方的25Q驱动, 4k一个扇区
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2013-3-5
在线时间
8 小时
 楼主| 发表于 2018-4-13 00:16:50 | 显示全部楼层
wlq19911021 发表于 2018-4-12 23:59
这个问题你不该管, 要么用用原子哥的, 要么用官方的25Q驱动, 4k一个扇区

只是不明白这其中的缘由,fatfs会直接调用disk_write函数来对25Q扇区的写入,不知道格式化成8个扇区为一个簇又有何作用?
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2013-3-5
在线时间
8 小时
 楼主| 发表于 2018-4-13 09:13:34 | 显示全部楼层
谢谢原子哥,那么我将SPI FLASH格式化成4096后,是不是不会频繁擦写SPI FLASH,而我将其格式化成512时才会频繁擦写SPI FLASH?
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2013-3-5
在线时间
8 小时
 楼主| 发表于 2018-4-13 10:55:26 | 显示全部楼层
本帖最后由 jey0807 于 2018-4-13 11:02 编辑

我在disk_write函数中对写扇区做了个计数,拷贝11.8M零散数据时,格式化成512时总共调用了disk_write函数4089次,格式化成4096时调用了3491次。拷贝一个13M的压缩文件时,格式化成512总共调用disk_write函数459次,格式化成4096时调用了437次。看来8倍的擦写寿命是比较极端的情况,只有每个文件大小都小于512B时才会出现。
回复

使用道具 举报

0

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2018-7-16
在线时间
31 小时
发表于 2020-3-2 15:58:35 | 显示全部楼层
我记得有个叫 嵌入式随笔 的公众号里有详细的解释
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-21 14:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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