fatfs文件系统一个物理盘内挂载多个逻辑盘

2019-07-20 06:05发布

之前利用HAL库成功的使用了tf卡,同时也移植了fatfs文件系统,想给tf卡分区,分成两个逻辑盘,找了很多资料都未果,在fatfs的官网上发现了如何配置现在和大家分享一下。[size=1.2em]

[size=1.2em]_VOLUMES 这个宏定义一共有几个逻辑盘,取值为1~10之间
_MULTI_PARTITION 将多分区这个宏选项改为1,此时fatfs文件系统将支持一个物理盘内挂载多个分区。
QQ截图20170126134037.png

_MULTI_PARTITION这个宏为1时,需要自己写VolToPart这个结构体,以表示逻辑盘与物理盘和物理盘内分区之间的关系。官网的例子弄过fatfs的大家应该都能明白,这里就不赘述了。


最后官网上给出了三条注意
1.有多分区的物理盘不支持移除,原文中的media不太清楚指的是什么,估计是物理盘的分区结构,这个结构在文件系统运行后也不能改变。
2.只支持4个主分区,不支持扩展分区。
3.Windows对于这种可移动介质盘,只能读取第一个分区,其它的不支持。
关于第三条,我尝试过在Windows用别的驱动,将sd卡优盘这类可移动介质盘识别为移动硬盘,是可以将多个分区识别出来的,但是win10很娇气,安了这个驱动之后就不能开机了,只好系统还原。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。