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,格式化失败;

相关推荐
A小辣椒1 天前
TShark:Wireshark CLI 功能
linux
A小辣椒1 天前
TShark:基础知识
linux
AlfredZhao1 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质3 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式