Information Technology Reference
In-Depth Information
// See the MultiMediaCard spec, section 5.3, for the calculations below.
Mult = one << (C_mult + 2);
// Return a value equal to the last LBA - 1.
gblNumBLKS._dword = Mult * (C_size + 1) - 1;
// Place gblNumBLKS and gblBLKLen in msd_buffer for sending to the host.
msd_buffer[0] = gblNumBLKS.v[3];
msd_buffer[1] = gblNumBLKS.v[2];
msd_buffer[2] = gblNumBLKS.v[1];
msd_buffer[3] = gblNumBLKS.v[0];
msd_buffer[4] = gblBLKLen.v[3];
msd_buffer[5] = gblBLKLen.v[2];
msd_buffer[6] = gblBLKLen.v[1];
msd_buffer[7] = gblBLKLen.v[0];
// Set fields in the CSW.
msd_csw.dCSWDataResidue = 0x08; // Number of bytes in the response.
msd_csw.bCSWStatus = 0x00; // Success.
}
START STOP UNIT
A host issues the START STOP UNIT command to request to change the
device's power condition to active, idle, or standby and to request the device
to load or eject its storage media. The command has no data-transport
phase. SBC devices aren't required to support this command.
SYNCHRONIZE CACHE
A host sends a SYNCHRONIZE CACHE command to request the device
to ensure that the specified sectors on the media and in any non-volatile
cache contain the most recent data. The SYNCHRONIZE CACHE(10)
and SYNCHRONIZE CACHE(16) commands vary in the size of the fields
in the command block. This command has no data-transport phase. SBC
devices aren't required to support this command.
Search WWH ::




Custom Search