BK_SDCARD
BK_SDCARD API Status
API |
|---|
BK_SDCARD API Reference
Header File
Functions
-
int32_t bk_sdcard_init(void)
Initializes the sd card.
This API init the sd card:
Initialize SDIO peripheral interface with default configuration
Identify card operating voltage
Card initialization
Set block size for card
- 返回值:
0 – success [BK_RET_OK]
other – fail
- 返回:
result
-
int32_t bk_sdcard_deinit(void)
Deinit the sd card.
This API deinit the sdio card:
sdio host deinit
free related software resource
- 返回值:
0 – success [BK_RET_OK]
other – fail
- 返回:
result
-
int32_t bk_sdcard_write_blocks(const uint8_t *data, uint32_t block_addr, uint32_t block_num)
Write block(s) to a specified address in a card. The data transfer is managed by blocking mode.
- 参数:
data – [in] data pointer to the buffer
block_addr – [in] block_addr block address where data will be written
block_num – [in] block_num number of sd blocks to write
- 返回值:
0 – success [BK_RET_OK]
other – fail
- 返回:
result
-
int32_t bk_sdcard_read_blocks(uint8_t *data, uint32_t block_addr, uint32_t block_num)
Read block(s) from a specified address in a card. The data transfer is managed by blocking mode.
- 参数:
data – [in] data pointer to the buffer
block_addr – [in] block_addr block address where data will be written
block_num – [in] block_num number of sd blocks to write
- 返回值:
0 – success [BK_RET_OK]
other – fail
- 返回:
result
-
int32_t bk_sdcard_erase(uint32_t start_block_addr, uint32_t end_block_addr)
Erase the specified memory area of the given sd card.
详细描述部分,可提供必要的技术细节
- 参数:
start_block_addr – [in] start_block_addr start block address
end_block_addr – [in] end_block_addr end block address
- 返回值:
0 – success [BK_RET_OK]
other – fail
- 返回:
result
-
sdcard_state_e bk_sdcard_get_card_state(void)
Get the current sd card data state.
- 返回:
card state
-
uint32_t bk_sdcard_get_card_size(void)
Get the sd card size which unit is sector size(512Bytes) Compute the sd card size which base on card_info.csd.
- 返回:
>0: card size
0: errors.
-
int32_t bk_sdcard_get_card_info(sdcard_info_t *card_info)
Get the sd card info.
- 参数:
card_info – [in] card_info pointer to the sd_card_info_t structure that will contains the sd card status information
- 返回值:
0 – success [BK_RET_OK]
other – fail
- 返回:
result
Structures
-
struct sdcard_info_t
-
struct sdcard_csd_t
the sdcard csd info. <<Part1_Physical_Layer_Simplified_Specification_Ver7.10>> CSD registers are tranferred by SDIO sequence is bit[127:96],bit[95:64],bit[63:32],bit[31:0]
Macros
-
SDCARD_V1_X
-
SDCARD_V2_X
-
SD_CARD_TYPE_SDSC
-
SD_CARD_TYPE_SDHC_SDXC
-
SD_SUPPORT_BASIC_CMD
-
SD_SUPPORT_RESERVED_0_CMD
-
SD_SUPPORT_BLOCK_READ_CMD
-
SD_SUPPORT_RESERVED_1_CMD
-
SD_SUPPORT_BLOCK_WRITE_CMD
-
SD_SUPPORT_ERASE_CMD
-
SD_SUPPORT_WRITE_PROTECTION_CMD
-
SD_SUPPORT_LOCK_CARD_CMD
-
SD_SUPPORT_APPLICATION_CMD
-
SD_SUPPORT_RESERVED_2_CMD
-
SD_BLOCK_SIZE
-
SD_CHECK_PATTERN
-
SD_OCR_BUSY
-
SD_OCR_HIGH_CAPACITY
-
SD_OCR_VOLTAGE_3_2V_3_3V
-
SD_OCR_VOLTAGE_ALL
-
SD_DEFAULT_OCR
Enumerations
-
enum sdcard_state_e
current state of card status, refer to Card Status BIT[12:9]
Values:
-
enumerator SDCARD_IDLE
card state is idle
-
enumerator SDCARD_READY
card state is ready
-
enumerator SDCARD_IDENTIFICATION
card is in identification state
-
enumerator SDCARD_STANDBY
card is in standby state
-
enumerator SDCARD_TRANSFER
card is in transfer state
-
enumerator SDCARD_SENDING
card is sending an operation
-
enumerator SDCARD_RECEIVING
card is receiving operation information
-
enumerator SDCARD_PROGRAMMING
card is in programming state
-
enumerator SDCARD_DISCONNECTED
card is disconnected
-
enumerator SDCARD_ERROR
-
enumerator SDCARD_IDLE