Optimization in write operations of the MMC_SPI driver.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3953 35acf78f-673a-0410-8e92-d51de3d6d3f4master
parent
aab3b75fc1
commit
cf5dfef7a8
|
@ -665,10 +665,8 @@ bool_t mmcSequentialWrite(MMCDriver *mmcp, const uint8_t *buffer) {
|
|||
spiSend(mmcp->spip, MMC_SECTOR_SIZE, buffer); /* Data. */
|
||||
spiIgnore(mmcp->spip, 2); /* CRC ignored. */
|
||||
spiReceive(mmcp->spip, 1, b);
|
||||
if ((b[0] & 0x1F) == 0x05) {
|
||||
wait(mmcp);
|
||||
if ((b[0] & 0x1F) == 0x05)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Error.*/
|
||||
spiUnselect(mmcp->spip);
|
||||
|
@ -701,6 +699,10 @@ bool_t mmcStopSequentialWrite(MMCDriver *mmcp) {
|
|||
}
|
||||
chSysUnlock();
|
||||
|
||||
/* Wait completion of the last write operation.*/
|
||||
wait(mmcp);
|
||||
|
||||
/* Semd stop command.*/
|
||||
spiSend(mmcp->spip, sizeof(stop), stop);
|
||||
spiUnselect(mmcp->spip);
|
||||
|
||||
|
|
2
todo.txt
2
todo.txt
|
@ -15,6 +15,7 @@ Within 2.5.x:
|
|||
* Revision of scheduling strategy for threads at equal priority.
|
||||
* Handling of Virtual Timer callbacks out of critical zone.
|
||||
* Add normal API (not iclass) variants of the VT functions.
|
||||
* MMC_SPI driver speedup.
|
||||
- Add the RTC service inside the kernel and port, remove from HAL.
|
||||
- Add option to use the RTC counter instead of the systick counter into the
|
||||
trace buffer.
|
||||
|
@ -27,7 +28,6 @@ Within 2.5.x:
|
|||
- Runtime errors manager in HAL.
|
||||
- Critical errors manager in HAL (to replace or complement assertions).
|
||||
- Streaming DAC/I2S driver model and STM32 implementation.
|
||||
- MMC_SPI driver speedup.
|
||||
- USB driver model revision.
|
||||
- MAC driver for STM32F107, STM32F2xx, STM32F4xx.
|
||||
- STM32 OTG USB cell support for CL, F2, F4 devices.
|
||||
|
|
Loading…
Reference in New Issue