FatFs文件系统:f_fdisk

网站作者2年前FatFs1635

划分一个物理驱动器。

FRESULT f_fdisk (   
    BYTE Drive, /* Physical drive number */   
    const DWORD Partitions[], /* Partition size */   
    void* Work /* Work area */  
);


参数:

Drive——指定要划分的物理驱动器 

Partitions[]——分区映象表,必须有四个项目。 

Work——指向函数工作区的指针。其大小必须至少为_MAX_SS 字节。 


返回值:

FR_OK (0)函数成功。 

FR_NOT_READY 由于驱动器中没有存储介质或任何其他原因,而导致磁盘驱动器无法工作。 

FR_WRITE_PROTECTED 驱动器被写保护。 

FR_DISK_ERR 由于底层磁盘 I/O 函数中的错误,而导致该函数失败。 

FR_INVALID_PARAMETER 所给参数无效或不一致。 


描述:

f_fdisk 函数创建一个分区表到物理驱动器的 MBR。分区规则为通用 FDISK 格式,所以可以创建多达 四个主分区。不支持扩展分区。Partitions[]指定了如何划分物理驱动器。第一个项目指定第一个主分区的大 小,第四个项目指定第四个主分区。如果其值小于或等于 100,表示分区占整个磁盘空间的百分比。如果大 于 100,则表示以扇区为单位的分区大小。 提示 在_FS_READOLNY == 0、_USE_MKFS == 1 并且_MULTI_PARTITION == 2 时可用。


示例:

/* 用户定义的卷管理表(当 _MULTI_PARTITION != 0 时必需) */  
PARTITION VolToPart[] = {  
    {0, 1}, /* 逻辑驱动器 0 ==> 物理驱动器 0,第一个分区 */  
    {0, 2}, /* 逻辑驱动器 1 ==> 物理驱动器 0,第二个分区 */  
    {1, 0} /* 逻辑驱动器 2 ==> 物理驱动器 1,第三个分区 */  
};  
/* 初始化一个全新的硬盘,映射到物理驱动器 0 */  
FATFS Fatfs;  
DWORD plist[] = {50, 50, 0, 0}; /* 将驱动器分为两个分区 */  
BYTE work[_MAX_SS];  
f_fdisk(0, plist, work); /* Divide physical drive 0 */  
f_mount(0, &Fatfs);  
f_mkfs(0, 0, 0); /* Create an FAT volume on the logical drive 0. 2nd argument is ignored. */  
f_mount(0, 0);  
f_mount(1, &Fatfs);  
f_mkfs(1, 0, 0);  
f_mount(1, 0);


相关文章

FatFs文件系统:f_error

测试文件是否出错。int f_error (        FIL* FileObject /* File object */   );参数:FileObject——指向打开文件对象结构的指针。 ...

FatFs文件系统:f_tell

获取一个文件的当前读/写指针。DWORD f_tell (        FIL* FileObject /* File object */   );参数:FileObject——指向打开文件对象...

FatFs文件系统:f_readdir

读取目录项。FRESULT f_readdir (      DIR* DirObject, /* 指向打开的目录对象结构的指针 */      FILINFO* FileInfo /* 指向文件...

FatFs文件系统:disk_ioctl

控制设备特定的功能以及磁盘读写以外的其它功能。DRESULT disk_ioctl (        BYTE Drive, /* 驱动器号 */        BYTE Command, /* ...

FatFs文件系统:f_utime

f_utime 函数修改一个文件或目录的时间戳。FRESULT f_utime (        const XCHAR* FileName, /* 文件或目录路径的指针 */        co...

FatFs文件系统:f_open

创建/打开一个用于访问文件的文件对象。FRESULT f_open (      FIL* FileObject, /* 空白文件对象结构指针 */      const XCHAR* FileN...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。