STM32303E_EVAL BSP User Manual: Private Functions

STM32303E EVAL BSP Drivers

STM32303E_EVAL BSP User Manual
Private Functions

Functions

static uint8_t SD_GetCIDRegister (SD_CID *Cid)
 Read the CID card register.
static uint8_t SD_GetCSDRegister (SD_CSD *Csd)
 Read the CSD card register.
static SD_Info SD_GetDataResponse (void)
 Get SD card data response.
static uint8_t SD_GoIdleState (void)
 Put SD in Idle state.
static uint8_t SD_SendCmd (uint8_t Cmd, uint32_t Arg, uint8_t Crc, uint8_t Response)
 Send 5 bytes command to the SD card and get response.
uint8_t BSP_SD_Init (void)
 Initializes the SD/SD communication.
uint8_t BSP_SD_IsDetected (void)
 Detects if SD card is correctly plugged in the memory slot or not.
uint8_t BSP_SD_GetCardInfo (SD_CardInfo *pCardInfo)
 Returns information about specific card.
uint8_t BSP_SD_ReadBlocks (uint32_t *p32Data, uint64_t ReadAddr, uint16_t BlockSize, uint32_t NumberOfBlocks)
 Reads block(s) from a specified address in an SD card, in polling mode.
uint8_t BSP_SD_WriteBlocks (uint32_t *p32Data, uint64_t WriteAddr, uint16_t BlockSize, uint32_t NumberOfBlocks)
 Writes block(s) to a specified address in an SD card, in polling mode.
uint8_t BSP_SD_GetStatus (void)
 Returns the SD status.
uint8_t BSP_SD_Erase (uint32_t StartAddr, uint32_t EndAddr)
 Erases the specified memory area of the given SD card.

Function Documentation

uint8_t BSP_SD_Erase ( uint32_t  StartAddr,
uint32_t  EndAddr 
)

Erases the specified memory area of the given SD card.

Parameters:
StartAddrStart byte address
EndAddrEnd byte address
Return values:
SDstatus

Definition at line 664 of file stm32303e_eval_sd.c.

References MSD_ERROR, MSD_OK, SD_CMD_ERASE, SD_CMD_SD_ERASE_GRP_END, SD_CMD_SD_ERASE_GRP_START, SD_IO_WaitResponse(), SD_RESPONSE_NO_ERROR, and SD_SendCmd().

uint8_t BSP_SD_GetCardInfo ( SD_CardInfo pCardInfo)

Returns information about specific card.

Parameters:
pCardInfopointer to a SD_CardInfo structure that contains all SD card information.
Return values:
TheSD Response:
  • MSD_ERROR : Sequence failed
  • MSD_OK : Sequence succeed

Definition at line 197 of file stm32303e_eval_sd.c.

References SD_CardInfo::CardBlockSize, SD_CardInfo::CardCapacity, SD_CardInfo::Cid, SD_CardInfo::Csd, SD_CSD::DeviceSize, SD_CSD::DeviceSizeMul, MSD_ERROR, SD_CSD::RdBlockLen, SD_GetCIDRegister(), and SD_GetCSDRegister().

uint8_t BSP_SD_GetStatus ( void  )

Returns the SD status.

Return values:
TheSD status.

Definition at line 632 of file stm32303e_eval_sd.c.

References MSD_OK.

uint8_t BSP_SD_Init ( void  )

Initializes the SD/SD communication.

Return values:
TheSD Response:
  • MSD_ERROR : Sequence failed
  • MSD_OK : Sequence succeed

Definition at line 152 of file stm32303e_eval_sd.c.

References BSP_SD_IsDetected(), MSD_ERROR, SD_GoIdleState(), SD_IO_Init(), SD_NOT_PRESENT, SD_PRESENT, and SdStatus.

uint8_t BSP_SD_IsDetected ( void  )

Detects if SD card is correctly plugged in the memory slot or not.

Return values:
Returnsif SD is detected or not

Definition at line 176 of file stm32303e_eval_sd.c.

References SD_DETECT_GPIO_PORT, SD_DETECT_PIN, SD_NOT_PRESENT, and SD_PRESENT.

Referenced by BSP_SD_Init().

uint8_t BSP_SD_ReadBlocks ( uint32_t *  p32Data,
uint64_t  ReadAddr,
uint16_t  BlockSize,
uint32_t  NumberOfBlocks 
)

Reads block(s) from a specified address in an SD card, in polling mode.

Parameters:
p32DataPointer to the buffer that will contain the data to transmit
ReadAddrAddress from where data is to be read
BlockSizeSD card data block size, that should be 512
NumberOfBlocksNumber of SD blocks to read
Return values:
SDstatus

Definition at line 220 of file stm32303e_eval_sd.c.

References MSD_ERROR, MSD_OK, SD_CMD_READ_SINGLE_BLOCK, SD_CMD_SET_BLOCKLEN, SD_IO_ReadByte(), SD_IO_WaitResponse(), SD_IO_WriteCmd(), SD_IO_WriteDummy(), SD_RESPONSE_NO_ERROR, and SD_START_DATA_SINGLE_BLOCK_READ.

uint8_t BSP_SD_WriteBlocks ( uint32_t *  p32Data,
uint64_t  WriteAddr,
uint16_t  BlockSize,
uint32_t  NumberOfBlocks 
)

Writes block(s) to a specified address in an SD card, in polling mode.

Parameters:
p32DataPointer to the buffer that will contain the data to transmit
WriteAddrAddress from where data is to be written
BlockSizeSD card data block size, that should be 512
NumberOfBlocksNumber of SD blocks to write
Return values:
SDstatus

Definition at line 286 of file stm32303e_eval_sd.c.

References MSD_ERROR, MSD_OK, SD_CMD_WRITE_SINGLE_BLOCK, SD_DATA_OK, SD_DUMMY_BYTE, SD_GetDataResponse(), SD_IO_ReadByte(), SD_IO_WriteByte(), SD_IO_WriteCmd(), SD_IO_WriteDummy(), SD_RESPONSE_NO_ERROR, and SD_START_DATA_SINGLE_BLOCK_WRITE.

static uint8_t SD_GetCIDRegister ( SD_CID Cid) [static]

Read the CID card register.

Reading the contents of the CID register in SPI mode is a simple read-block transaction.

Parameters:
Cidpointer on an CID register structure
Return values:
SDstatus

Definition at line 470 of file stm32303e_eval_sd.c.

References SD_CID::CID_CRC, SD_CID::ManufactDate, SD_CID::ManufacturerID, MSD_ERROR, MSD_OK, SD_CID::OEM_AppliID, SD_CID::ProdName1, SD_CID::ProdName2, SD_CID::ProdRev, SD_CID::ProdSN, SD_CID::Reserved1, SD_CID::Reserved2, SD_CMD_SEND_CID, SD_DUMMY_BYTE, SD_IO_ReadByte(), SD_IO_WaitResponse(), SD_IO_WriteByte(), SD_IO_WriteCmd(), SD_IO_WriteDummy(), SD_RESPONSE_NO_ERROR, and SD_START_DATA_SINGLE_BLOCK_READ.

Referenced by BSP_SD_GetCardInfo().

static SD_Info SD_GetDataResponse ( void  ) [static]

Get SD card data response.

Return values:
TheSD status: Read data response xxx0<status>1
  • status 010: Data accecpted
  • status 101: Data rejected due to a crc error
  • status 110: Data rejected due to a Write error.
  • status 111: Data rejected due to other error.

Definition at line 586 of file stm32303e_eval_sd.c.

References SD_DATA_CRC_ERROR, SD_DATA_OK, SD_DATA_OTHER_ERROR, SD_DATA_WRITE_ERROR, and SD_IO_ReadByte().

Referenced by BSP_SD_WriteBlocks().

static uint8_t SD_GoIdleState ( void  ) [static]

Put SD in Idle state.

Return values:
SDstatus

Definition at line 641 of file stm32303e_eval_sd.c.

References MSD_ERROR, MSD_OK, SD_CMD_GO_IDLE_STATE, SD_CMD_SEND_OP_COND, SD_IN_IDLE_STATE, SD_RESPONSE_NO_ERROR, and SD_SendCmd().

Referenced by BSP_SD_Init().

static uint8_t SD_SendCmd ( uint8_t  Cmd,
uint32_t  Arg,
uint8_t  Crc,
uint8_t  Response 
) [static]

Send 5 bytes command to the SD card and get response.

Parameters:
CmdThe user expected command to send to SD card.
ArgThe command argument.
CrcThe CRC.
ResponseExpected response from the SD card
Return values:
SDstatus

Definition at line 563 of file stm32303e_eval_sd.c.

References MSD_ERROR, MSD_OK, SD_IO_WriteCmd(), and SD_IO_WriteDummy().

Referenced by BSP_SD_Erase(), and SD_GoIdleState().

Generated on Wed May 31 2017 11:17:17 for STM32303E_EVAL BSP User Manual by   doxygen 1.7.6.1