Embedded SCSI读取(10)读取奇怪的值-USB pendrive

Embedded SCSI读取(10)读取奇怪的值-USB pendrive,embedded,usb,fat32,scsi,Embedded,Usb,Fat32,Scsi,我正在实现USB作为主机,使用OHCI读取存储在Flashdrive中的文件。要读取,我在SCSI中实现read(10)命令。作为扇区号的逻辑块地址。下面是我发送的用于读取(10)以读取LBA 0x0000的命令的图像- 我读取了512字节(一个扇区或1 LBA的大小),下面是LBA 0x0000的输出- 上图中的字节在pendrive上的任何位置都不存在,我使用HXD检查了它。现在,为了进行测试,我将pendrive灌满了水。如果我读取除0x0000以外的任何其他LBA,那么我总是得到51

我正在实现USB作为主机,使用OHCI读取存储在Flashdrive中的文件。要读取,我在SCSI中实现read(10)命令。作为扇区号的逻辑块地址。下面是我发送的用于读取(10)以读取LBA 0x0000的命令的图像-

我读取了512字节(一个扇区或1 LBA的大小),下面是LBA 0x0000的输出-

上图中的字节在pendrive上的任何位置都不存在,我使用HXD检查了它。现在,为了进行测试,我将pendrive灌满了水。如果我读取除0x0000以外的任何其他LBA,那么我总是得到512字节的0x00

有人能告诉我问题出在哪里吗? 我是否应该在读取(10)之前执行其他命令,以便USB向我发送正确的数据


据我所知,我已将DPO、FUA和FUA_NV=0以及RDPROTECT=2

@Daskwuff放入其中。您是否了解这一点?如果您准备好处理此任务,您肯定能够以文本形式获得输出,并将其包含在问题正文中。至于你的问题,有很多关于你正在尝试做的事情的开源实现,阅读其中一个可能会提供信息。对于较小的系统来说,这些问题可能更容易理解。问题的可能重复有as。投票结束。@Dashwuff你知道这方面的情况吗?如果你准备好处理这项任务,你肯定能够以文本形式获得输出,并将其包含在问题主体中。至于你的问题,有很多关于你正在尝试做的事情的开源实现,阅读其中一个可能会提供信息。对于较小的系统来说,这些问题可能更容易理解。问题的可能重复有as。投票结束。