31#define SD_ERR_ID 0xFFFF0100
33#define SD_TIMEOUT (SD_ERR_ID|0x01)
34#define SD_NO_MEMORY (SD_ERR_ID|0x02)
41#define SD_TYPE_UNKNOWN 0
42#define SD_TYPE_SD_HIGH 1
43#define SD_TYPE_SD_LOW 2
48#define SD_NO_SD_CARD (SD_ERR_ID|0x10)
49#define SD_ERR_DEVICE (SD_ERR_ID|0x11)
50#define SD_INIT_TIMEOUT (SD_ERR_ID|0x12)
51#define SD_SELECT_ERROR (SD_ERR_ID|0x13)
52#define SD_WRITE_PROTECT (SD_ERR_ID|0x14)
53#define SD_INIT_ERROR (SD_ERR_ID|0x15)
54#define SD_CRC7_ERROR (SD_ERR_ID|0x16)
55#define SD_CRC16_ERROR (SD_ERR_ID|0x17)
56#define SD_CRC_ERROR (SD_ERR_ID|0x18)
57#define SD_CMD8_ERROR (SD_ERR_ID|0x19)
60#define SDHC_FREQ 12000
62#define STOR_STRING_LEN 32
64#define SD_PORT0 (1 << 0)
65#define SD_PORT1 (1 << 2)
67#define CardDetect_From_GPIO (1 << 8)
68#define CardDetect_From_DAT3 (1 << 9)
121#define SD_ENABLE_INT(u32IntMask) (SD->INTEN |= (u32IntMask))
134#define SD_DISABLE_INT(u32IntMask) (SD->INTEN &= ~(u32IntMask))
150#define SD_GET_INT_FLAG(u32IntMask) ((SD->INTSTS & (u32IntMask))?1:0)
165#define SD_CLR_INT_FLAG(u32IntMask) (SD->INTSTS = u32IntMask)
177#define SD_IS_CARD_PRESENT(u32CardNum) ((u32CardNum & (SD_PORT0))?(SD0.IsCardInsert):(SD1.IsCardInsert))
187#define SD_GET_CARD_CAPACITY(u32CardNum) ((u32CardNum & (SD_PORT0))?(SD_DiskInfo0.diskSize):(SD_DiskInfo1.diskSize))
190void SD_Open(uint32_t u32CardDetSrc);
192uint32_t
SD_Read(uint32_t u32CardNum, uint8_t *pu8BufAddr, uint32_t u32StartSec, uint32_t u32SecCount);
193uint32_t
SD_Write(uint32_t u32CardNum, uint8_t *pu8BufAddr, uint32_t u32StartSec, uint32_t u32SecCount);
uint32_t SD_Read(uint32_t u32CardNum, uint8_t *pu8BufAddr, uint32_t u32StartSec, uint32_t u32SecCount)
This function use to read data from SD card.
char serial[STOR_STRING_LEN]
struct disk_data_t * next
char vendor[STOR_STRING_LEN]
char product[STOR_STRING_LEN]
unsigned int totalSectorN
uint32_t SD_Write(uint32_t u32CardNum, uint8_t *pu8BufAddr, uint32_t u32StartSec, uint32_t u32SecCount)
This function use to write data to SD card.
void SD_Open(uint32_t u32CardDetSrc)
This function use to reset SD function and select card detection source and pin.
void SD_Probe(uint32_t u32CardNum)
This function use to initial SD card.
struct SD_info_t SD_INFO_T
struct disk_data_t DISK_DATA_T