--- /dev/null
+/*-----------------------------------------------------------------------*/\r
+/* Low level disk I/O module skeleton for FatFs (C)ChaN, 2007 */\r
+/*-----------------------------------------------------------------------*/\r
+/* This is a stub disk I/O module that acts as front end of the existing */\r
+/* disk I/O modules and attach it to FatFs module with common interface. */\r
+/*-----------------------------------------------------------------------*/\r
+\r
+#include "diskio.h"\r
+\r
+/*-----------------------------------------------------------------------*/\r
+/* Inidialize a Drive */\r
+\r
+DSTATUS disk_initialize (\r
+ BYTE drv /* Physical drive nmuber (0..) */\r
+)\r
+{\r
+ return FR_OK;\r
+}\r
+\r
+\r
+\r
+/*-----------------------------------------------------------------------*/\r
+/* Return Disk Status */\r
+\r
+DSTATUS disk_status (\r
+ BYTE drv /* Physical drive nmuber (0..) */\r
+)\r
+{\r
+ return FR_OK;\r
+}\r
+\r
+\r
+\r
+/*-----------------------------------------------------------------------*/\r
+/* Read Sector(s) */\r
+\r
+DRESULT disk_read (\r
+ BYTE drv, /* Physical drive nmuber (0..) */\r
+ BYTE *buff, /* Data buffer to store read data */\r
+ DWORD sector, /* Sector address (LBA) */\r
+ BYTE count /* Number of sectors to read (1..255) */\r
+)\r
+{\r
+ DataflashManager_ReadBlocks_RAM(sector, count, buff);\r
+ return RES_OK;\r
+}\r
+\r
+\r
+\r
+/*-----------------------------------------------------------------------*/\r
+/* Write Sector(s) */\r
+\r
+#if _READONLY == 0\r
+DRESULT disk_write (\r
+ BYTE drv, /* Physical drive nmuber (0..) */\r
+ const BYTE *buff, /* Data to be written */\r
+ DWORD sector, /* Sector address (LBA) */\r
+ BYTE count /* Number of sectors to write (1..255) */\r
+)\r
+{\r
+ DataflashManager_WriteBlocks_RAM(sector, count, buff);\r
+ return RES_OK;\r
+}\r
+#endif /* _READONLY */\r
+\r
+\r
+\r
+/*-----------------------------------------------------------------------*/\r
+/* Miscellaneous Functions */\r
+\r
+DRESULT disk_ioctl (\r
+ BYTE drv, /* Physical drive nmuber (0..) */\r
+ BYTE ctrl, /* Control code */\r
+ void *buff /* Buffer to send/receive control data */\r
+)\r
+{\r
+ if (ctrl == CTRL_SYNC)\r
+ return RES_OK;\r
+ else\r
+ return RES_PARERR;\r
+}\r
+\r
+\r
+DWORD get_fattime (void)\r
+{\r
+ return ((DWORD)1 << 25) |\r
+ ((DWORD)1 << 21) |\r
+ ((DWORD)1 << 16) |\r
+ ((DWORD)1 << 11) |\r
+ ((DWORD)1 << 5) |\r
+ ((DWORD)1 << 0);\r
+}\r