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

📄 globals.h

📁 cy68013a USB2.0 highspeed mass storage source code
💻 H
字号:
//-----------------------------------------------------------------------------
//   File:      globals.h
//   Contents:   global variables used by the firmware
//
//   indent 3.  NO TABS!
//
//   Copyright (c) 2001 Cypress Semiconductor
//
// $Workfile: GLOBALS.H $
// $Date: 6/26/05 1:57p $
// $Revision: 3 $
//-----------------------------------------------------------------------------
extern volatile BYTE   AlternateSetting;   // Alternate settings
extern volatile BYTE   Configuration;      // Current configuration
extern xdata BYTE   eepromAddr;         // EEPROM address -- Could be one of two possibilities 0x52 or 0x54
extern xdata BYTE   CSMSerial[20];      // CSM serial number

extern WORD wPacketSize;
// Globals for storing per-LUN information.  Data about each LUN (Logical Unit) is stored
// in two different places:  1) A struct in DATA space for storing drive geometry, capacity,
// etc., 2) a bit field in the BIT DATA area for storing device flags that we need to access
// efficiently.  For each request (CBW), the firmware will swap in the appropriate LUN
// information

// The flags for the LUN that is currently being accessed.
extern BYTE bdata ActiveLunBits;
// Storage area for LUN0 and LUN1 flags
extern BYTE bdata LunBits[];
extern BYTE sensePtrs[2];

// bit defines for the active LUN
extern bit bDevicePresent;
extern bit bMasterSlave ;   // 0 == device0 (master), 1 == device1 (slave)

extern bit bScsi;
extern bit bExtAddrSupport;
extern bit bCompactFlash;
extern bit bWriteCacheDisabled;

extern BYTE currentLunNum;

// Device info for the Active LUN
extern DEVICE_CONFIG_DATA ActiveLunConfigData;
// Sorage area for the LUN0 and LUN1 device info
extern DEVICE_CONFIG_DATA DeviceConfigData[];

// this variable is used to store the number of devices attached to the IDE bus.  This is what
// we will use to forumlate our response to the GET MAX LUN Mass Storage Class request.
extern BYTE deviceCount;

extern bit  bSkipPinReset;
extern bit  bFirstTime;
extern bit  bSwitchToHighSpeed;
extern bit  bHighSpeedEnabled;
extern xdata BYTE halfKBuffer[BUFFER_SIZE];

extern WORD cbwTagLow;          // Tag from the most recent CBW packet
extern WORD cbwTagHi;
extern BYTE currentState;

extern DWORD dataTransferLen;
extern volatile BYTE seconds;
extern volatile BYTE hertz61ticks;

extern bit noFlashMedia;
extern bit ejected;
extern bit directionIn;
extern bit phaseErrorState;
extern bit bNewAt2pinout;

extern bit bUseUdma;
extern bit bShortPacketSent;
extern bit bScsiRegsPreloaded;
extern BYTE udmaErrorCount;
extern BYTE IOEShadow;

extern bit Sleep;
extern bit driveIsInStandby;

extern BYTE bdata miscConfig;
extern BYTE bdata miscConfig2;
extern BYTE bdata pinConfig;
extern bit bATA_UDMA_ENABLE             ;
extern bit bATAPI_UDMA_ENABLE           ;

extern bit bWAIT_FOR_BUSY_BIT           ;
extern bit bCOMPLIANCE_MODE             ;
extern bit bENABLE_WRITE_CACHE_MODE_PAGE;
extern bit bSHORT_PACKET_BEFORE_STALL   ;
extern bit bSRST_ENABLE                 ;
extern bit bSKIP_PIN_RESET              ;

extern bit bBUTTON_PINOUT               ;
extern bit bATA_ENABLED                 ;
extern bit bBIG_PACKAGE                 ;
extern bit bATA_EN                      ;
extern bit bDISKRDY_POLARITY            ;
extern bit bHS_INDICATOR                ;
extern bit bDRVPWRVLD_POLARITY          ;
extern bit bDRVPWRVLD_ENABLE            ;
extern bit bCF_USES_UDMA;
extern bit b2LUN_SET_BY_EEPROM          ;
extern bit b1LUN_SET_BY_EEPROM          ;
extern bit bSEARCH_ATA_ON_WAKEUP;

extern BYTE report[2];
extern BOOL receivedReport_Flag;
extern BYTE oldButtons;

extern xdata BYTE HIDIntrfcDscrOffset;
extern xdata BYTE CSMIntrfcDscrOffset;

⌨️ 快捷键说明

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