打印
[圈圈教你玩USB]

假U盘程序中的疑问,关于LBA?

[复制链接]
2306|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

粉丝