lock SPI bus when erasing
This commit is contained in:
parent
a26bcf30f7
commit
bff587e32c
1 changed files with 9 additions and 2 deletions
|
@ -47,9 +47,9 @@ Berlin, 2007
|
||||||
* @brief MMC-/SD-Card library, Block erase
|
* @brief MMC-/SD-Card library, Block erase
|
||||||
*
|
*
|
||||||
* @author Michael Baar <baar@inf.fu-berlin.de>
|
* @author Michael Baar <baar@inf.fu-berlin.de>
|
||||||
* @version $Revision: 1.3 $
|
* @version $Revision: 1.4 $
|
||||||
*
|
*
|
||||||
* $Id: sd_erase.c,v 1.3 2008/03/28 23:03:05 nvt-se Exp $
|
* $Id: sd_erase.c,v 1.4 2008/05/27 13:01:27 nvt-se Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -69,9 +69,14 @@ sd_erase_blocks(uint32_t address, uint16_t numBlocks)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!uart_lock(UART_MODE_SPI)) {
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
ret = _sd_send_cmd(SD_CMD_ERASE_WR_BLK_START_ADDR, SD_RESPONSE_SIZE_R1,
|
ret = _sd_send_cmd(SD_CMD_ERASE_WR_BLK_START_ADDR, SD_RESPONSE_SIZE_R1,
|
||||||
&address, &r1);
|
&address, &r1);
|
||||||
if (!ret | r1) {
|
if (!ret | r1) {
|
||||||
|
uart_unlock(UART_MODE_SPI);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,10 +86,12 @@ sd_erase_blocks(uint32_t address, uint16_t numBlocks)
|
||||||
ret = _sd_send_cmd(SD_CMD_ERASE_WR_BLK_END_ADDR, SD_RESPONSE_SIZE_R1,
|
ret = _sd_send_cmd(SD_CMD_ERASE_WR_BLK_END_ADDR, SD_RESPONSE_SIZE_R1,
|
||||||
&endAdr, &r1);
|
&endAdr, &r1);
|
||||||
if (!ret | r1) {
|
if (!ret | r1) {
|
||||||
|
uart_unlock(UART_MODE_SPI);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = _sd_send_cmd(SD_CMD_ERASE, SD_RESPONSE_SIZE_R1, NULL, &r1);
|
ret = _sd_send_cmd(SD_CMD_ERASE, SD_RESPONSE_SIZE_R1, NULL, &r1);
|
||||||
|
uart_unlock(UART_MODE_SPI);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue