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-d51de3d6d3f4
master
gdisirio 2012-02-12 09:45:06 +00:00
parent aab3b75fc1
commit cf5dfef7a8
2 changed files with 6 additions and 4 deletions

View File

@ -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);

View File

@ -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.