FatFs文件系统:f_fdisk

网站作者1年前FatFs1038

划分一个物理驱动器。

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_gets

f_gets 从文件中读取一个字符串。char* f_gets (        char* Str, /* 读缓冲区 */        int Size, /* 读缓冲区大小 */     ...

FatFs文件系统:get_fattime

获取当前时间。DWORD get_fattime (void);参数:void返回值:返回的当前时间被打包进一个 DWORD 数值。各位域定义如下: bit31:25 年,从 1980 年开始算起(0...

FatFs文件系统:f_puts

f_puts 函数向文件中写入一个字符串。int f_puts (        const char* Str, /* 字符串指针 */        FIL* FileObject /* 文件...

FatFs文件系统:f_stat

获取文件状态。FRESULT f_stat (        const XCHAR* FileName, /* 文件名或目录名的指针 */        FILINFO* FileInfo /*...

FatFs文件系统:f_lseek

移动一个打开的文件对象的文件读/写指针。也可以被用来扩展文件大小(簇预分配)。FRESULT f_lseek (      FIL* FileObject, /* 文件对象结构指针 */     ...

发表评论    

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