📄 globals.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 + -