SH7286 Group
USB Function Module: USB Mass Storage Class
R01AN0063EJ0100 Rev. 1.00
Page 26 of 32
Oct. 22, 2010
Table 22 lists examples of possible errors.
Table 22 Error Cases
CASE Status
(2)
When the host issues the READ command, the amount of data sent on the USB Data transport
is 0, and the amount of data specified by the SCSI command is other than 0
(3)
When the host issues the WRITE command, the amount of data sent on the USB Data transport
is 0, and the amount of data specified by the SCSI command is other than 0
(4)
When the host issues the READ command, the amount of data sent on the USB Data transport
is 0, and the amount of data specified by the SCSI command is other than 0
(5)
When the host issues the READ command, the amount of data specified by the SCSI command
is less than the data sent on the USB Data transport
(7)
When the host issues the READ command, the amount of data specified by the SCSI command
is more than the data sent on the USB Data transport
(8)
When the host issues the WRITE command, it also requests to receive data on the USB Data
transport
(9)
When the host issues the WRITE command, the amount of data sent on the USB Data transport
is other than 0, and the amount of data specified by the SCSI command is 0
(10)
When the host issues the READ command, it also sends data on the USB Data transport
(11)
When the host issues the WRITE command, the amount of data specified by the SCSI command
is less than the data sent on the USB Data transport
(13)
When the host issues the WRITE command, the amount of data specified by the SCSI command
is more than the data sent on the USB Data transport
Table 23 lists how the function behaves toward the error cases.
Table 23 Function Behavior
CASE
Function behavior When an Error occurs
(2), (3)
•
Sets H'02 to the CSW status
(4), (5)
•
Adds data to make up the data length specified by the dCBWDataTransferLength, and sends
the data to the host
•
Sets the amount of data added on the Data transport to the dCBWDataResidue in CSW
•
Sets H'00 to the CSW status
(7), (8)
•
Sends data up to the data length specified by the dCBWDataTransferLength to the host
•
Sets H'02 to the CSW status
(9), (11)
•
Receives the length of data indicated by the dCBWDataTransferLength
•
Sets the difference between the amount of data received on the Data transport and
processed by the function to the dCBWDataResidue in CSW.
•
Sets H'01 to the CSW status
(10), (13)
•
Receives the length of data indicated by the dCBWDataTransferLength
•
Sets H'02 to the CSW status