This commit is contained in:
Qiea
2024-12-19 14:06:05 +08:00
parent 1c0f3b676f
commit dcd484c1bd
58 changed files with 14859 additions and 863 deletions

90
HARDWARE/FATFS/diskio.h Normal file
View File

@@ -0,0 +1,90 @@
/*-----------------------------------------------------------------------/
/ Low level disk interface modlue include file (C)ChaN, 2014 /
/-----------------------------------------------------------------------*/
#ifndef _DISKIO_DEFINED
#define _DISKIO_DEFINED
#ifdef __cplusplus
extern "C" {
#endif
#define _USE_WRITE 1 /* 1: Enable disk_write function */
#define _USE_IOCTL 1 /* 1: Enable disk_ioctl fucntion */
#include "integer.h"
#include "ff.h"
//-----------------------------------------------------------------
//-----------------------------------------------------------------
// <20><><EFBFBD><EFBFBD>
//-----------------------------------------------------------------
typedef BYTE DSTATUS; // <20><><EFBFBD>̹<EFBFBD><CCB9>ܵ<EFBFBD>״̬
// <20><><EFBFBD>̹<EFBFBD><CCB9>ܵĽ<DCB5><C4BD><EFBFBD>
typedef enum {
RES_OK = 0, // 0<><30><EFBFBD>ɹ<EFBFBD>
RES_ERROR, // 1<><31><EFBFBD><EFBFBD>дʧ<D0B4><CAA7>
RES_WRPRT, // 2<><32>д<EFBFBD><D0B4><EFBFBD><EFBFBD>
RES_NOTRDY, // 3<><33>û׼<C3BB><D7BC><EFBFBD><EFBFBD>
RES_PARERR // 4<><34><EFBFBD><EFBFBD>Ч<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
} DRESULT;
extern FATFS fatfs_sd; // SD<53><44><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD>
extern FATFS fatfs_flash; // FLASH<53>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD>
extern FATFS fatfs_usb; // USB<53>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD>
extern FIL file_sd; // SD<53><44><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
extern FIL file_flash; // FLASH<53>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
extern FIL file_usb; // USB<53>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
//-----------------------------------------------------------------
// <20><EFBFBD><EAB6A8>
//-----------------------------------------------------------------
// <20><><EFBFBD><EFBFBD>״̬λ
#define STA_NOINIT 0x01 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4>ʼ<EFBFBD><CABC>
#define STA_NODISK 0x02 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>д<EFBFBD><D0B4><EFBFBD>
#define STA_PROTECT 0x04 // д<><D0B4><EFBFBD><EFBFBD>
// disk_ioctrl<72><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Used by FatFs)
#define CTRL_SYNC 0 // <20><><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(needed at _FS_READONLY == 0)
#define GET_SECTOR_COUNT 1 // <20><>ȡ<EFBFBD><C8A1><EFBFBD>̴<EFBFBD>С(needed at _USE_MKFS == 1)
#define GET_SECTOR_SIZE 2 // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С(needed at _MAX_SS != _MIN_SS)
#define GET_BLOCK_SIZE 3 // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С (needed at _USE_MKFS == 1)
#define CTRL_TRIM 4 // ֪ͨ<CDA8><EFBFBD><E8B1B8><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>(needed at _USE_TRIM == 1)
// ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Not used by FatFs)
#define CTRL_POWER 5 // <20><>ȡ/<2F><><EFBFBD>õ<EFBFBD>Դ״̬
#define CTRL_LOCK 6 // <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƴ<EFBFBD>
#define CTRL_EJECT 7 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define CTRL_FORMAT 8 // <20><>ý<EFBFBD><C3BD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
// MMC/SDC<44>ض<EFBFBD><D8B6><EFBFBD>ioctl<74><6C><EFBFBD><EFBFBD>
#define MMC_GET_TYPE 10 // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MMC_GET_CSD 11 // <20><>ȡCSD
#define MMC_GET_CID 12 // <20><>ȡCID
#define MMC_GET_OCR 13 // <20><>ȡOCR
#define MMC_GET_SDSTAT 14 // <20><>ȡSD״̬
#define ISDIO_READ 55 // <20><>SD iSDIO<49>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
#define ISDIO_WRITE 56 // <20><>SD iSDIO<49>Ĵ<EFBFBD><C4B4><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ISDIO_MRITE 57 // <20><><EFBFBD><EFBFBD>д<EFBFBD><D0B4>SD iSDIO<49>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// ATA/CF<43>ض<EFBFBD><D8B6><EFBFBD>ioctl<74><6C><EFBFBD><EFBFBD>
#define ATA_GET_REV 20 // <20><>ȡF/W revision
#define ATA_GET_MODEL 21 // <20><>ȡ<EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD>
#define ATA_GET_SN 22 // <20><>ȡ<EFBFBD><C8A1><EFBFBD>к<EFBFBD>
#ifdef __cplusplus
}
#endif
//-----------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//-----------------------------------------------------------------
extern DSTATUS disk_initialize (BYTE pdrv);
extern DSTATUS disk_status (BYTE pdrv);
extern DRESULT disk_read (BYTE pdrv, BYTE* buff, DWORD sector, UINT count);
extern DRESULT disk_write (BYTE pdrv, const BYTE* buff, DWORD sector, UINT count);
extern DRESULT disk_ioctl (BYTE pdrv, BYTE cmd, void* buff);
#endif
//-----------------------------------------------------------------
// End Of File
//-----------------------------------------------------------------