在线时间0 小时
UID191854
注册时间2008-2-21
NXP金币0
该用户从未签到
新手上路

- 积分
- 178
- 最后登录
- 1970-1-1
|
使用下面参数格式化一个MFS, 但格式出来的是FAT12,然后用write()和read()读写都得不到期望的结果,读出来的都是0。
请教:是否必需格式化成FAT32以后,才能用write()和read()读写到正确的结果?
如果是这样的话,如何能格式化成FAT32,下面这组参数需要改动哪儿? 谢谢!
我用的格式化参数如下:
if ( error_code == MFS_NOT_A_DOS_DISK )
{
//printf("NOT A DOS DISK! You must format to continue.\n");
format_data.PHYSICAL_DRIVE = 0x80;
format_data.MEDIA_DESCRIPTOR = 0xf8;
format_data.BYTES_PER_SECTOR = 512;;
format_data.SECTORS_PER_TRACK = 0;
format_data.NUMBER_OF_HEADS = 0;
format_data.NUMBER_OF_SECTORS = 512;
format_data.HIDDEN_SECTORS = 0;
format_data.RESERVED_SECTORS = 0;
format_struct.FORMAT_PTR = &format_data;
format_struct.COUNT_PTR = &bad_cluster_count;
error_code=ioctl(filesystem_handle, IO_IOCTL_FORMAT_TEST,(uint_32_ptr)&format_struct);
}
程序执行完后error_code=0,格式化成功了,但不是FAT32,是FAT12。
|
|