CARME-M4 BSP  V1.5
Disk IO

Low level disk I/O module skeleton for FatFs. More...

+ Collaboration diagram for Disk IO:

Files

file  diskio.c
 Low level disk I/O module skeleton for FatFs.
 
file  diskio.c
 Low level disk I/O module skeleton for FatFs.
 

Macros

#define _USE_WRITE   1
 
#define _USE_IOCTL   1
 
#define STA_NOINIT   0x01
 
#define STA_NODISK   0x02
 
#define STA_PROTECT   0x04
 
#define CTRL_SYNC   0
 
#define GET_SECTOR_COUNT   1
 
#define GET_SECTOR_SIZE   2
 
#define GET_BLOCK_SIZE   3
 
#define CTRL_ERASE_SECTOR   4
 
#define CTRL_POWER   5
 
#define CTRL_LOCK   6
 
#define CTRL_EJECT   7
 
#define CTRL_FORMAT   8
 
#define MMC_GET_TYPE   10
 
#define MMC_GET_CSD   11
 
#define MMC_GET_CID   12
 
#define MMC_GET_OCR   13
 
#define MMC_GET_SDSTAT   14
 
#define ATA_GET_REV   20
 
#define ATA_GET_MODEL   21
 
#define ATA_GET_SN   22
 
#define CT_MMC   0x01
 
#define CT_SD1   0x02
 
#define CT_SD2   0x04
 
#define CT_SDC   (CT_SD1|CT_SD2)
 
#define CT_BLOCK   0x08
 
#define BLOCK_SIZE   512
 

Typedefs

typedef BYTE DSTATUS
 Status of Disk Functions.
 

Enumerations

enum  DRESULT {
  RES_OK = 0, RES_ERROR, RES_WRPRT, RES_NOTRDY,
  RES_PARERR
}
 Results of Disk Functions. More...
 

Functions

DSTATUS disk_initialize (BYTE drv)
 Initialize the SD Card
Returns the disk status. More...
 
DSTATUS disk_status (BYTE drv)
 Return disk status. More...
 
DRESULT disk_read (BYTE drv, BYTE *buff, DWORD sector, UINT count)
 Read from the SD Card. More...
 
DRESULT disk_write (BYTE drv, const BYTE *buff, DWORD sector, BYTE count)
 
DRESULT disk_ioctl (BYTE drv, BYTE cmd, void *buff)
 

Detailed Description

Low level disk I/O module skeleton for FatFs.

Macro Definition Documentation

#define _USE_IOCTL   1

1: Enable disk_ioctl function

Definition at line 53 of file diskio.h.

#define _USE_WRITE   1

1: Enable disk_write function

Definition at line 52 of file diskio.h.

#define ATA_GET_MODEL   21

Get model name

Definition at line 90 of file diskio.h.

#define ATA_GET_REV   20

Get F/W revision

Definition at line 89 of file diskio.h.

#define ATA_GET_SN   22

Get serial number

Definition at line 91 of file diskio.h.

#define BLOCK_SIZE   512

Block Size in Bytes

Definition at line 53 of file diskio.c.

#define CT_BLOCK   0x08

Block addressing

Definition at line 99 of file diskio.h.

#define CT_MMC   0x01

MMC ver 3

Definition at line 95 of file diskio.h.

#define CT_SD1   0x02

SD ver 1

Definition at line 96 of file diskio.h.

#define CT_SD2   0x04

SD ver 2

Definition at line 97 of file diskio.h.

#define CT_SDC   (CT_SD1|CT_SD2)

SD

Definition at line 98 of file diskio.h.

#define CTRL_EJECT   7

Eject media

Definition at line 78 of file diskio.h.

#define CTRL_ERASE_SECTOR   4

Force erased a block of sectors (for only _USE_ERASE)

Definition at line 71 of file diskio.h.

#define CTRL_FORMAT   8

Create physical format on the media

Definition at line 79 of file diskio.h.

#define CTRL_LOCK   6

Lock/Unlock media removal

Definition at line 77 of file diskio.h.

#define CTRL_POWER   5

Get/Set power status

Definition at line 76 of file diskio.h.

#define CTRL_SYNC   0

Flush disk cache (for write functions)

Definition at line 63 of file diskio.h.

#define GET_BLOCK_SIZE   3

Get erase block size (for only f_mkfs())

Definition at line 68 of file diskio.h.

#define GET_SECTOR_COUNT   1

Get media size (for only f_mkfs())

Definition at line 64 of file diskio.h.

#define GET_SECTOR_SIZE   2

Get sector size (for multiple sector size (_MAX_SS >= 1024))

Definition at line 65 of file diskio.h.

#define MMC_GET_CID   12

Get CID

Definition at line 84 of file diskio.h.

#define MMC_GET_CSD   11

Get CSD

Definition at line 83 of file diskio.h.

#define MMC_GET_OCR   13

Get OCR

Definition at line 85 of file diskio.h.

#define MMC_GET_SDSTAT   14

Get SD status

Definition at line 86 of file diskio.h.

#define MMC_GET_TYPE   10

Get card type

Definition at line 82 of file diskio.h.

#define STA_NODISK   0x02

No medium in the drive

Definition at line 57 of file diskio.h.

#define STA_NOINIT   0x01

Drive not initialized

Definition at line 56 of file diskio.h.

#define STA_PROTECT   0x04

Write protected

Definition at line 58 of file diskio.h.

Enumeration Type Documentation

enum DRESULT

Results of Disk Functions.

Enumerator
RES_OK 

0: Successful

RES_ERROR 

1: R/W Error

RES_WRPRT 

2: Write Protected

RES_NOTRDY 

3: Not Ready

RES_PARERR 

4: Invalid Parameter

Definition at line 112 of file diskio.h.

Function Documentation

DSTATUS disk_initialize ( BYTE  drv)

Initialize the SD Card
Returns the disk status.

Parameters
[in]drvPhysical drive number (0..)
Returns
DSTATUS

Definition at line 71 of file diskio.c.

+ Here is the call graph for this function:

DRESULT disk_read ( BYTE  drv,
BYTE *  buff,
DWORD  sector,
UINT  count 
)

Read from the SD Card.

Parameters
[in]drvPhysical drive number (0..)
[out]buffData buffer to store read data
[in]sectorSector address (LBA)
[in]countNumber of sectors to read (1..128)
Returns
DRESULT

Definition at line 127 of file diskio.c.

+ Here is the call graph for this function:

DSTATUS disk_status ( BYTE  drv)

Return disk status.

Parameters
[in]drvPhysical drive number (0..)
Returns
DSTATUS

Definition at line 103 of file diskio.c.

+ Here is the call graph for this function: