int main (void) { uint32_t n; for (n = 0; n < MSC_ImageSize; n++) { /* Copy Initial Disk Image */ Memory[n] = DiskImage[n]; /* from Flash to RAM */ } |
void MSC_MemoryWrite (void) { uint32_t n; if ((Offset + BulkLen) > MSC_MemorySize) { BulkLen = MSC_MemorySize - Offset; BulkStage = MSC_BS_CSW; MSC_SetStallEP(MSC_EP_OUT); } [COLOR=Red][B] for (n = 0; n < BulkLen; n++) { Memory[Offset + n] = BulkBuf[n]; } [/B][/COLOR] Offset += BulkLen; Length -= BulkLen; CSW.dDataResidue -= BulkLen; if ((Length == 0) || (BulkStage == MSC_BS_CSW)) { CSW.bStatus = CSW_CMD_PASSED; MSC_SetCSW(); } } |