FatFs文件系统:f_fdisk

网站作者3年前FatFs2347

划分一个物理驱动器。

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_lseek

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

FatFs文件系统:disk_status

获取当前磁盘的状态DSTATUS disk_status (        BYTE Drive /* 物理驱动器号*/   );参数:Drive 指定待确认的物理驱动器号。 返回值:磁盘状态,是...

FatFs文件系统:disk_read

从磁盘驱动器中读取扇区。DRESULT disk_read (        BYTE Drive, /* 物理驱动器号 */        BYTE* Buffer, /* 读取数据缓冲区的指针...

FatFs文件系统:disk_initialize

初始化磁盘驱动器。DSTATUS disk_initialize (        BYTE Drive /* 物理驱动器号 */   );参数:Drive 指定待初始化的物理驱动器号。 返回值:...

FatFs文件系统:f_write

写入数据到一个文件。FRESULT f_write (      FIL* FileObject, /* 文件对象结构的指针 */      const void* Buffer, /* 存储写入...

FatFs文件系统:f_utime

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

发表评论    

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