[圈圈教你玩USB] 假U盘程序中的疑问,关于LBA?

[复制链接]
3431|3
 楼主| figo123 发表于 2010-1-13 16:24 | 显示全部楼层 |阅读模式
unsigned char *get_physical_addr(unsigned long int LBA)                        //从LBA获取物理地址
{
if(LBA==0)return DBR;
if(LBA==2)return FAT;
if(LBA==0x40)return ZERO;
if(LBA==0X0A)return FAT;
}
不明白为什么是LBA=2的时候返回FAT表数据.
我的理解是DBR之后就是FAT表,DBR占据0扇区,那第一张FAT表的起始扇区地址应该是1扇区.

还有一个问题,我在根目录中添加了一个文件,而且把首簇地址设为0x03,相应的在FAT表中第3簇地址设为0xffff,电脑上能显示文件,但是打不开,提示"找不到文件".

敬请赐教!
 楼主| figo123 发表于 2010-1-15 11:00 | 显示全部楼层
关于文件打不开的问题,已找到原因,是因为文件名我用的是小写字母,改用大写字母或数字就没问题.
但是不知道是为什么,继续找原因.
computer00 发表于 2010-1-21 17:47 | 显示全部楼层
FAT协议就规定了,文件名必须要用大写啊。
xwj 发表于 2010-1-21 19:37 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

6

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部