f_mkfs格式化最小分区数是191

使用fatfs的f_mkfs最小分区数是191原因:

在挂载ram_disk时参考的文章有提到:

"然后是GET_SECTOR_COUNT 用于f_mkfs格式化时获取可用的sector的数量,32bit-LBA的情况下至少为191"

自己也实际试过确实要不少于191,网上也没找到相关说明。debug跟踪到f_mkfs文件中

  • 我定义的190个扇区每个扇区512个字节
  • 进入f_mkfs代码中

这个函数会得到我设置的扇区数即190保存数sz_vol中

在这里sz_vol会被减去N_SEC_TRCK,N_SEC_TRCK宏定义为63,这个63组成如下

最小的文件系统结构:

  • 引导扇区:1个扇区
  • FAT表:假设需要128个扇区(具体数量取决于存储设备大小和FAT类型)
  • 根目录区:32个扇区
  • 其他必要的结构和保留扇区:30个扇区
  • 总计:1 + 128 + 32 + 30 = 191个扇区

190-63 = 127 ;小于最少128个卷的大小,返回FR_MKFS_ABORTED,格式化失败;

相关推荐
Johny_Zhao2 小时前
Docker + CentOS 部署 Zookeeper 集群 + Kubernetes Operator 自动化运维方案
linux·网络安全·docker·信息安全·zookeeper·kubernetes·云计算·系统运维
小毛驴8502 小时前
Linux 后台启动java jar 程序 nohup java -jar
java·linux·jar
一心0923 小时前
ubuntu 20.04.6 sudo 源码包在线升级到1.9.17p1
运维·ubuntu·sudo·漏洞升级
好好学习啊天天向上3 小时前
世上最全:ubuntu 上及天河超算上源码编译llvm遇到的坑,cmake,ninja完整过程
linux·运维·ubuntu·自动性能优化
你想考研啊4 小时前
三、jenkins使用tomcat部署项目
运维·tomcat·jenkins
tan180°4 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
代码老y4 小时前
Docker:容器化技术的基石与实践指南
运维·docker·容器
典学长编程5 小时前
Linux操作系统从入门到精通!第二天(命令行)
linux·运维·chrome
wuk9985 小时前
基于MATLAB编制的锂离子电池伪二维模型
linux·windows·github
你想考研啊7 小时前
四、jenkins自动构建和设置邮箱
运维·jenkins