In "csl_mmcsd.c" there is a function to write blocks of data to the SD Card.
CSL_Status MMC_write(CSL_MmcsdHandle hMmcsd,
Uint32 cardAddr,
Uint16 noOfBytes,
Uint16 *pWriteBuffer)
When writing multiple blocks, this function appears to do 3 things:
1) Sends the CSL_MMCSD_WRITE_MULTIPLE_BLOCK_CMD command (Command 25)
2) Writes the data
3) Sends the stop command (CSL_MMCSD_STOP_CMD)
According to the SD card specification - after sending the stop command the SD card can be busy for up to 500ms.
In my application I need to write to the same file multiple times as new data arrives (every 32ms). Occasionally we see these 500ms drop-outs when the SD card is busy (and lose data as a result) Therefore it would be more efficient to only send the start command when I write the first blocks and only send the stop command when I write the last block.
Is there an alternative to MMC_write() in the CSL library that I can use in this way?