⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abl_cf_card.h

📁 SHARP_ARM720T_LH79524/5软件开发包_支持TFT_LCD_NAND_FLASH_ETH_USB
💻 H
字号:
/***********************************************************************
 * $Workfile:   abl_cf_card.h  $
 * $Revision:   1.0  $
 * $Author:   WellsK  $
 * $Date:   Sep 09 2004 08:42:32  $
 *
 * Project: CompactFlash card definitions
 *
 * Description:
 *     This file contains the structure definitions and manifest
 *     constants for the following component:
 *         CompactFlash cards
 *
 * Revision History:
 * $Log:   //smaicnt2/pvcs/VM/sharpmcu/archives/sharpmcu/software/abl/include/abl_cf_card.h-arc  $
 * 
 *    Rev 1.0   Sep 09 2004 08:42:32   WellsK
 * Initial revision.
 * 
 * 
 ***********************************************************************
 * SHARP MICROELECTRONICS OF THE AMERICAS MAKES NO REPRESENTATION
 * OR WARRANTIES WITH RESPECT TO THE PERFORMANCE OF THIS SOFTWARE,
 * AND SPECIFICALLY DISCLAIMS ANY RESPONSIBILITY FOR ANY DAMAGES, 
 * SPECIAL OR CONSEQUENTIAL, CONNECTED WITH THE USE OF THIS SOFTWARE.
 *
 * SHARP MICROELECTRONICS OF THE AMERICAS PROVIDES THIS SOFTWARE SOLELY 
 * FOR THE PURPOSE OF SOFTWARE DEVELOPMENT INCORPORATING THE USE OF A 
 * SHARP MICROCONTROLLER OR SYSTEM-ON-CHIP PRODUCT. USE OF THIS SOURCE
 * FILE IMPLIES ACCEPTANCE OF THESE CONDITIONS.
 *
 * COPYRIGHT (C) 2001 SHARP MICROELECTRONICS OF THE AMERICAS, INC.
 *     CAMAS, WA
 **********************************************************************/

#ifndef ABL_CF_CARD_H
#define ABL_CF_CARD_H

#include "abl_types.h"

/***********************************************************************
 * CF structures
 **********************************************************************/

/* CF card memory mapped structure - used when the CF card is in
   memory mapped mode and supports 8-bit reads/writes */
typedef struct
{
    volatile CHAR   dataeven;
    volatile CHAR   error_features;
    volatile CHAR   sectorcount;
    volatile CHAR   sectornum;
    volatile CHAR   cyllo;
    volatile CHAR   cylhi;
    volatile CHAR   head;
    volatile CHAR   status_command;
    volatile CHAR   dupdataeven;
    volatile CHAR   dupdataodd;
    volatile CHAR   reserved1 [4];
    volatile CHAR   duperror_dup_features;
    volatile CHAR   altstat_devctl;
    volatile CHAR   driveraddr;
} CF_MMAPREG_T;

/* CompactFlash memory mapped mode interface register structure for
   the SDK7A400 (for 16-bit read accesses only) */
typedef struct
{
    volatile UNS_16 data;           /* CF read data */
    volatile UNS_16 sec_count_no;   /* CF sector count and low 8 bits
                                       of number (LBA mode) */
    volatile UNS_16 sec_mid;        /* CF sector middle 16 bits */
    volatile UNS_16 sec_high_sts;   /* Sector high 8 bits and status
                                       value */
    volatile UNS_16 dup_data;       /* Duplicated data */
    volatile UNS_16 rsvd1;
    volatile UNS_16 dup_error;      /* Duplicated error value */
    volatile UNS_16 dup_sts_da;     /* Duplicated status and drive
                                       address  */
} CF_STATUS_READ_REG_T;

/* CompactFlash memory mapped mode interface register structure for
   the SDK7A400 (for 16-bit write accesses) */
typedef struct
{
    volatile UNS_16 data;           /* CF write data */
    volatile UNS_16 sec_count_no;   /* CF sector count and low 8 bits
                                       of number (LBA mode) */
    volatile UNS_16 sec_mid;        /* CF sector middle 16 bits */
    volatile UNS_16 sec_high_cmd;   /* Sector high 8 bits and command
                                       value */
    volatile UNS_16 dup_data;       /* Duplicated data */
    volatile UNS_16 rsvd1;
    volatile UNS_16 dup_features;   /* Duplicated features value */
    volatile UNS_16 device_ctl;     /* Device control */
} CF_STATUS_WRITE_REG_T;

/* CF card attribute memory structure */
typedef struct
{
    volatile UNS_16 config_option;
    volatile UNS_16 card_config_sts;
    volatile UNS_16 pin_replacement;
    volatile UNS_16 socket_copy;
} CF_ATTB_T;

/***********************************************************************
 * CF status register defines
 **********************************************************************/

/* CompactFlash status register busy bit */
#define CF_BUSY            _BIT(7)
/* CompactFlash status register command ready bit */
#define CF_RDY             _BIT(6)
/* CompactFlash status register Write fault bit */
#define CF_DWF             _BIT(5)
/* CompactFlash status register card ready bit */
#define CF_DSC             _BIT(4)
/* CompactFlash status register data request bit */
#define CF_DRQ             _BIT(3)
/* CompactFlash status register correctable error bit */
#define CF_CORR            _BIT(2)
/* CompactFlash status register reserved bit, alwats 0 */
#define CF_IDX             _BIT(1)
/* CompactFlash status register noncorrectable error bit */
#define CF_ERR             _BIT(0)

/***********************************************************************
 * CF status register defines
 **********************************************************************/

/* CompactFlash error register bad block bit */
#define CF_BBK             _BIT(7)
/* CompactFlash error register bauncorrectable error bit */
#define CF_UNC             _BIT(6)
/* CompactFlash error register bad sector bit */
#define CF_IDNF            _BIT(4)
/* CompactFlash error register abort error bit */
#define CF_ABORT           _BIT(2)
/* CompactFlash error register general error bit */
#define CF_AMNF            _BIT(1)

/***********************************************************************
 * CF status register defines
 **********************************************************************/

/* CompactFlash head register LBA mode select bit */
#define CF_LBA             _BIT(4)
/* CompactFlash Device control register reset bit */
#define CF_RST             _BIT(2)
/* CompactFlash Device control register Interrupt enable bit */
#define CF_IEN             _BIT(1)

/***********************************************************************
 * CF command defines
 **********************************************************************/

/* CompactFlash Read sector command */
#define CFC_R_SECT         0x20
/* CompactFlash Write sector command */
#define CFC_W_SECT         0x30
/* CompactFlash card identification command */
#define CFC_IDENT          0xEC
/* CompactFlash Read multiple sectors command */
#define CFC_R_MULT         0xC4
/* CompactFlash Erase sector command */
#define CFC_E_SECT         0xC0
/* CompactFlash Set Multiple command */
#define CFC_S_MULT         0xC6

/***********************************************************************
 * Miscellaneous CF defines
 **********************************************************************/

#define CF_SECTOR_SIZE     512   /* Size of a CF sector */

/* CompactFlash LBA mode enable in the sector register */
#define CF_LBA_MODE        0x40

#endif /* ABL_CF_CARD_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -