Added Software projects

git-svn-id: file:///srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/repositories/svn/Diplomarbeit@55 9fe90eed-be63-e94b-8204-d34ff4c2ff93
This commit is contained in:
Matthias
2008-12-23 10:34:08 +00:00
parent ee5a771818
commit 373a8c32b2
348 changed files with 86781 additions and 0 deletions
+172
View File
@@ -0,0 +1,172 @@
/* ---------------------------------------------------------------------------
* diskio.h (C)ChaN, 2007
* ---------------------------------------------------------------------------
* Micro-key bv
* Industrieweg 28, 9804 TG Noordhorn
* Postbus 92, 9800 AB Zuidhorn
* The Netherlands
* Tel: +31 594 503020
* Fax: +31 594 505825
* Email: support@microkey.nl
* Web: www.microkey.nl
* ---------------------------------------------------------------------------
* Description: Low level disk interface modlue include file R0.06
* ---------------------------------------------------------------------------
* Version(s): 0.2, Aug 11, 2008, MMi
* Edited to fit into LAN_2636 Project
* Change disk_write and disk_read functions to work with MMC
*
* 0.1, 2007 ChanN
* Creation
* ---------------------------------------------------------------------------
*/
#ifndef DISKIO_H_
#define DISKIO_H_
/* ---------------------------------------------------------------------------
* System include files.
* ---------------------------------------------------------------------------
*/
#include "LPC23xx.h"
#include "types.h"
/* ---------------------------------------------------------------------------
* Application include files.
* ---------------------------------------------------------------------------
*/
/* ---------------------------------------------------------------------------
* Constant and macro definitions.
* ---------------------------------------------------------------------------
*/
#define _READONLY 0 /* 1: Read-only mode */
#define _USE_IOCTL 1
/* Disk Status Bits (DSTATUS) */
#define STA_NOINIT 0x01 /* Drive not initialized */
#define STA_NODISK 0x02 /* No medium in the drive */
#define STA_PROTECT 0x04 /* Write protected */
/* Generic command */
#define CTRL_SYNC 0 /* Mandatory for read/write */
#define GET_SECTOR_COUNT 1 /* Mandatory for only f_mkfs() */
#define GET_SECTOR_SIZE 2
#define GET_BLOCK_SIZE 3 /* Mandatory for only f_mkfs() */
#define CTRL_POWER 4
#define CTRL_LOCK 5
#define CTRL_EJECT 6
/* MMC/SDC command */
#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
/* ATA/CF command */
#define ATA_GET_REV 20
#define ATA_GET_MODEL 21
#define ATA_GET_SN 22
/* ---------------------------------------------------------------------------
* Type definitions.
* ---------------------------------------------------------------------------
*/
/* Status of Disk Functions */
typedef UINT8 DSTATUS;
/* Results of Disk Functions */
typedef enum
{
RES_OK = 0, /* 0: Successful */
RES_ERROR, /* 1: R/W Error */
RES_WRPRT, /* 2: Write Protected */
RES_NOTRDY, /* 3: Not Ready */
RES_PARERR /* 4: Invalid Parameter */
} DRESULT;
/* ---------------------------------------------------------------------------
* Variable declarations.
* ---------------------------------------------------------------------------
*/
/* ---------------------------------------------------------------------------
* Function declarations.
* ---------------------------------------------------------------------------
*/
/* ---------------------------------------------------------------------------
* Function: disk_initialize
*
* Function to call initialisations for different devices. This function is
* needed by the filesystem but is deactivated because for this project, no
* multible devices are used. Function always returns "Operation suceeded"
*
* Parameters: UINT8 drive - Device number
*
* Return : DSTATUS - Initialisation status of desired device
* ---------------------------------------------------------------------------
*/
DSTATUS disk_initialize(UINT8 drive);
/* ---------------------------------------------------------------------------
* Function: disk_status
*
* Function to call status calls for different devices. This function is
* needed by the filesystem but is deactivated because for this project, no
* multible devices are used. Function always returns "Operation suceeded"
*
* Parameters: UINT8 drive - Device number
*
* Return : DSTATUS - Status of desired device
* ---------------------------------------------------------------------------
*/
DSTATUS disk_status(UINT8 drive);
/* ---------------------------------------------------------------------------
* Function: disk_ioctrl
*
* Function to call controllings for different devices. This function is
* needed by the filesystem but is deactivated because for this project, no
* multible devices are used. Function always returns "Operation suceeded"
*
* Parameters: UINT8 drive - Device number
* UINT8 ctrl - A certain command
* void *buff - A function pointer
*
* Return : DRESULT - Initialisation status of desired device
* ---------------------------------------------------------------------------
*/
DRESULT disk_ioctl(UINT8 drive, UINT8 ctrl, void *buff);
/* ---------------------------------------------------------------------------
* Function: disk_read
*
* Function to read from the memory card.
*
* Parameters: UINT8 drive - Device number
* pUINT8 buffer - Pointer to position to storage read data
* UINT32 sector - Sector an that reading should be started
* UINT8 count - Number of following sectors to read
*
* Return : DSTATUS - Initialisation status of desired device
* ---------------------------------------------------------------------------
*/
DRESULT disk_read(UINT8 drive, pUINT8 buffer, UINT32 sector, UINT8 count);
/* ---------------------------------------------------------------------------
* Function: disk_write
*
* Function to write to the memory card.
*
* Parameters: UINT8 drive - Device number
* pUINT8 buffer - Pointer to position where data is stored
* UINT32 sector - Sector an that writing should be started
* UINT8 count - Number of following sectors to write on
*
* Return : DSTATUS - Initialisation status of desired device
* ---------------------------------------------------------------------------
*/
#if _READONLY == 0
DRESULT disk_write(UINT8 drive, pUINT8 buffer, UINT32 sector, UINT8 count);
#endif
#endif /*FAT_TIME_H_*/