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

📄 fx2regs.h

📁 cy68013a USB2.0 highspeed mass storage source code
💻 H
📖 第 1 页 / 共 3 页
字号:
//-----------------------------------------------------------------------------
//   File:      FX2regs.h
//   Contents:   EZ-USB FX2 register declarations and bit mask definitions.
//
// $Archive: /USB/atapifx2/CY4611B/fx2regs.h $
// $Date: 3/30/05 2:38p $
// $Revision: 2 $
//
//
//   Copyright (c) 2000 Cypress Semiconductor, All rights reserved
//-----------------------------------------------------------------------------

#ifndef FX2REGS_H   /* Header Sentry */
#define FX2REGS_H

//-----------------------------------------------------------------------------
// FX2 Related Register Assignments
//-----------------------------------------------------------------------------

// The Ez-USB FX2 registers are defined here. We use FX2regs.h for register 
// address allocation by using "#define ALLOCATE_EXTERN". 
// When using "#define ALLOCATE_EXTERN", you get (for instance): 
// xdata volatile BYTE OUT7BUF[64]   _at_   0x7B40;
// Such lines are created from FX2.h by using the preprocessor. 
// Incidently, these lines will not generate any space in the resulting hex 
// file; they just bind the symbols to the addresses for compilation. 
// You just need to put "#define ALLOCATE_EXTERN" in your main program file; 
// i.e. fw.c or a stand-alone C source file. 
// Without "#define ALLOCATE_EXTERN", you just get the external reference: 
// extern xdata volatile BYTE OUT7BUF[64]   ;//   0x7B40;
// This uses the concatenation operator "##" to insert a comment "//" 
// to cut off the end of the line, "_at_   0x7B40;", which is not wanted.

#ifdef ALLOCATE_EXTERN
#define EXTERN
#define _AT_ _at_
#else
#define EXTERN extern
#define _AT_ ;/ ## /
#endif

#define XBYTE ((BYTE volatile xdata*) 0)
#define XWORD ((WORD volatile xdata*) 0)


EXTERN xdata volatile BYTE GPIF_WAVE_DATA       _AT_ 0xE400;
EXTERN xdata volatile BYTE RES_WAVEDATA_END     _AT_ 0xE480;

// General Configuration

EXTERN xdata volatile BYTE CPUCS                _AT_ 0xE600;         // Control & Status
EXTERN xdata volatile BYTE IFCONFIG             _AT_ 0xE601;         // Interface Configuration
EXTERN xdata volatile BYTE PINFLAGSAB              _AT_ 0xE602;         // FIFO FLAGA and FLAGB Assignments
EXTERN xdata volatile BYTE PINFLAGSCD              _AT_ 0xE603;         // FIFO FLAGC and FLAGD Assignments
EXTERN xdata volatile BYTE FIFORESET            _AT_ 0xE604;         // Restore FIFOS to default state
EXTERN xdata volatile BYTE BREAKPT              _AT_ 0xE605;         // Breakpoint
EXTERN xdata volatile BYTE BPADDRH              _AT_ 0xE606;         // Breakpoint Address H
EXTERN xdata volatile BYTE BPADDRL              _AT_ 0xE607;         // Breakpoint Address L
EXTERN xdata volatile BYTE UART230              _AT_ 0xE608;         // 230 Kbaud clock for T0,T1,T2
EXTERN xdata volatile BYTE FIFOPINPOLAR            _AT_ 0xE609;         // FIFO polarities
EXTERN xdata volatile BYTE REVID                _AT_ 0xE60A;         // Chip Revision
EXTERN xdata volatile BYTE REVCTL                _AT_ 0xE60B;         // Chip Revision Control

// Endpoint Configuration

EXTERN xdata volatile BYTE EP1OUTCFG            _AT_ 0xE610;         // Endpoint 1-OUT Configuration
EXTERN xdata volatile BYTE EP1INCFG             _AT_ 0xE611;         // Endpoint 1-IN Configuration
EXTERN xdata volatile BYTE EP2CFG               _AT_ 0xE612;         // Endpoint 2 Configuration
EXTERN xdata volatile BYTE EP4CFG               _AT_ 0xE613;         // Endpoint 4 Configuration
EXTERN xdata volatile BYTE EP6CFG               _AT_ 0xE614;         // Endpoint 6 Configuration
EXTERN xdata volatile BYTE EP8CFG               _AT_ 0xE615;         // Endpoint 8 Configuration
EXTERN xdata volatile BYTE EP2FIFOCFG            _AT_ 0xE618;         // Endpoint 2 FIFO configuration
EXTERN xdata volatile BYTE EP4FIFOCFG            _AT_ 0xE619;         // Endpoint 4 FIFO configuration
EXTERN xdata volatile BYTE EP6FIFOCFG            _AT_ 0xE61A;         // Endpoint 6 FIFO configuration
EXTERN xdata volatile BYTE EP8FIFOCFG            _AT_ 0xE61B;         // Endpoint 8 FIFO configuration
EXTERN xdata volatile BYTE EP2AUTOINLENH           _AT_ 0xE620;         // Endpoint 2 Packet Length H (IN only)
EXTERN xdata volatile BYTE EP2AUTOINLENL           _AT_ 0xE621;         // Endpoint 2 Packet Length L (IN only)
EXTERN xdata volatile BYTE EP4AUTOINLENH           _AT_ 0xE622;         // Endpoint 4 Packet Length H (IN only)
EXTERN xdata volatile BYTE EP4AUTOINLENL           _AT_ 0xE623;         // Endpoint 4 Packet Length L (IN only)
EXTERN xdata volatile BYTE EP6AUTOINLENH           _AT_ 0xE624;         // Endpoint 6 Packet Length H (IN only)
EXTERN xdata volatile BYTE EP6AUTOINLENL           _AT_ 0xE625;         // Endpoint 6 Packet Length L (IN only)
EXTERN xdata volatile BYTE EP8AUTOINLENH           _AT_ 0xE626;         // Endpoint 8 Packet Length H (IN only)
EXTERN xdata volatile BYTE EP8AUTOINLENL           _AT_ 0xE627;         // Endpoint 8 Packet Length L (IN only)
EXTERN xdata volatile BYTE EP2FIFOPFH              _AT_ 0xE630;         // EP2 Programmable Flag trigger H
EXTERN xdata volatile BYTE EP2FIFOPFL              _AT_ 0xE631;         // EP2 Programmable Flag trigger L
EXTERN xdata volatile BYTE EP4FIFOPFH              _AT_ 0xE632;         // EP4 Programmable Flag trigger H
EXTERN xdata volatile BYTE EP4FIFOPFL              _AT_ 0xE633;         // EP4 Programmable Flag trigger L
EXTERN xdata volatile BYTE EP6FIFOPFH              _AT_ 0xE634;         // EP6 Programmable Flag trigger H
EXTERN xdata volatile BYTE EP6FIFOPFL              _AT_ 0xE635;         // EP6 Programmable Flag trigger L
EXTERN xdata volatile BYTE EP8FIFOPFH              _AT_ 0xE636;         // EP8 Programmable Flag trigger H
EXTERN xdata volatile BYTE EP8FIFOPFL              _AT_ 0xE637;         // EP8 Programmable Flag trigger L
EXTERN xdata volatile BYTE EP2ISOINPKTS         _AT_ 0xE640;         // EP2 (if ISO) IN Packets per frame (1-3)
EXTERN xdata volatile BYTE EP4ISOINPKTS         _AT_ 0xE641;         // EP4 (if ISO) IN Packets per frame (1-3)
EXTERN xdata volatile BYTE EP6ISOINPKTS         _AT_ 0xE642;         // EP6 (if ISO) IN Packets per frame (1-3)
EXTERN xdata volatile BYTE EP8ISOINPKTS         _AT_ 0xE643;         // EP8 (if ISO) IN Packets per frame (1-3)
EXTERN xdata volatile BYTE INPKTEND          _AT_ 0xE648;         // Force IN Packet End
EXTERN xdata volatile BYTE OUTPKTEND         _AT_ 0xE649;  // Force OUT Packet End

// Interrupts

EXTERN xdata volatile BYTE EP2FIFOIE            _AT_ 0xE650;         // Endpoint 2 Flag Interrupt Enable
EXTERN xdata volatile BYTE EP2FIFOIRQ           _AT_ 0xE651;         // Endpoint 2 Flag Interrupt Request
EXTERN xdata volatile BYTE EP4FIFOIE            _AT_ 0xE652;         // Endpoint 4 Flag Interrupt Enable
EXTERN xdata volatile BYTE EP4FIFOIRQ           _AT_ 0xE653;         // Endpoint 4 Flag Interrupt Request
EXTERN xdata volatile BYTE EP6FIFOIE            _AT_ 0xE654;         // Endpoint 6 Flag Interrupt Enable
EXTERN xdata volatile BYTE EP6FIFOIRQ           _AT_ 0xE655;         // Endpoint 6 Flag Interrupt Request
EXTERN xdata volatile BYTE EP8FIFOIE            _AT_ 0xE656;         // Endpoint 8 Flag Interrupt Enable
EXTERN xdata volatile BYTE EP8FIFOIRQ           _AT_ 0xE657;         // Endpoint 8 Flag Interrupt Request
EXTERN xdata volatile BYTE IBNIE                _AT_ 0xE658;         // IN-BULK-NAK Interrupt Enable
EXTERN xdata volatile BYTE IBNIRQ               _AT_ 0xE659;         // IN-BULK-NAK interrupt Request
EXTERN xdata volatile BYTE NAKIE             _AT_ 0xE65A;         // Endpoint Ping NAK interrupt Enable
EXTERN xdata volatile BYTE NAKIRQ            _AT_ 0xE65B;         // Endpoint Ping NAK interrupt Request
EXTERN xdata volatile BYTE USBIE                _AT_ 0xE65C;         // USB Int Enables
EXTERN xdata volatile BYTE USBIRQ               _AT_ 0xE65D;         // USB Interrupt Requests
EXTERN xdata volatile BYTE EPIE                 _AT_ 0xE65E;         // Endpoint Interrupt Enables
EXTERN xdata volatile BYTE EPIRQ                _AT_ 0xE65F;         // Endpoint Interrupt Requests
EXTERN xdata volatile BYTE GPIFIE               _AT_ 0xE660;         // GPIF Interrupt Enable
EXTERN xdata volatile BYTE GPIFIRQ              _AT_ 0xE661;         // GPIF Interrupt Request
EXTERN xdata volatile BYTE USBERRIE             _AT_ 0xE662;         // USB Error Interrupt Enables
EXTERN xdata volatile BYTE USBERRIRQ            _AT_ 0xE663;         // USB Error Interrupt Requests
EXTERN xdata volatile BYTE ERRCNTLIM             _AT_ 0xE664;         // USB Error counter and limit
EXTERN xdata volatile BYTE CLRERRCNT              _AT_ 0xE665;         // Clear Error Counter EC[3..0]
EXTERN xdata volatile BYTE INT2IVEC             _AT_ 0xE666;         // Interupt 2 (USB) Autovector
EXTERN xdata volatile BYTE INT4IVEC             _AT_ 0xE667;         // Interupt 4 (FIFOS & GPIF) Autovector
EXTERN xdata volatile BYTE INTSETUP             _AT_ 0xE668;         // Interrupt 2&4 Setup

// Input/Output

EXTERN xdata volatile BYTE PORTACFG             _AT_ 0xE670;         // I/O PORTA Alternate Configuration
EXTERN xdata volatile BYTE PORTCCFG             _AT_ 0xE671;         // I/O PORTC Alternate Configuration
EXTERN xdata volatile BYTE PORTECFG             _AT_ 0xE672;         // I/O PORTE Alternate Configuration
EXTERN xdata volatile BYTE I2CS                 _AT_ 0xE678;         // Control & Status
EXTERN xdata volatile BYTE I2DAT                _AT_ 0xE679;         // Data
EXTERN xdata volatile BYTE I2CTL                _AT_ 0xE67A;         // I2C Control
EXTERN xdata volatile BYTE XAUTODAT1            _AT_ 0xE67B;         // Autoptr1 MOVX access
EXTERN xdata volatile BYTE XAUTODAT2            _AT_ 0xE67C;         // Autoptr2 MOVX access

#define EXTAUTODAT1 XAUTODAT1
#define EXTAUTODAT2 XAUTODAT2

// USB Control

EXTERN xdata volatile BYTE USBCS                _AT_ 0xE680;         // USB Control & Status
EXTERN xdata volatile BYTE SUSPEND              _AT_ 0xE681;         // Put chip into suspend
EXTERN xdata volatile BYTE WAKEUPCS               _AT_ 0xE682;         // Wakeup source and polarity
EXTERN xdata volatile BYTE TOGCTL               _AT_ 0xE683;         // Toggle Control
EXTERN xdata volatile BYTE USBFRAMEH            _AT_ 0xE684;         // USB Frame count H
EXTERN xdata volatile BYTE USBFRAMEL            _AT_ 0xE685;         // USB Frame count L
EXTERN xdata volatile BYTE MICROFRAME           _AT_ 0xE686;         // Microframe count, 0-7
EXTERN xdata volatile BYTE FNADDR               _AT_ 0xE687;         // USB Function address

// Endpoints

EXTERN xdata volatile BYTE EP0BCH               _AT_ 0xE68A;         // Endpoint 0 Byte Count H
EXTERN xdata volatile BYTE EP0BCL               _AT_ 0xE68B;         // Endpoint 0 Byte Count L
EXTERN xdata volatile BYTE EP1OUTBC             _AT_ 0xE68D;         // Endpoint 1 OUT Byte Count
EXTERN xdata volatile BYTE EP1INBC              _AT_ 0xE68F;         // Endpoint 1 IN Byte Count
EXTERN xdata volatile BYTE EP2BCH               _AT_ 0xE690;         // Endpoint 2 Byte Count H
EXTERN xdata volatile BYTE EP2BCL               _AT_ 0xE691;         // Endpoint 2 Byte Count L
EXTERN xdata volatile BYTE EP4BCH               _AT_ 0xE694;         // Endpoint 4 Byte Count H
EXTERN xdata volatile BYTE EP4BCL               _AT_ 0xE695;         // Endpoint 4 Byte Count L
EXTERN xdata volatile BYTE EP6BCH               _AT_ 0xE698;         // Endpoint 6 Byte Count H
EXTERN xdata volatile BYTE EP6BCL               _AT_ 0xE699;         // Endpoint 6 Byte Count L
EXTERN xdata volatile BYTE EP8BCH               _AT_ 0xE69C;         // Endpoint 8 Byte Count H
EXTERN xdata volatile BYTE EP8BCL               _AT_ 0xE69D;         // Endpoint 8 Byte Count L
EXTERN xdata volatile BYTE EP0CS                _AT_ 0xE6A0;         // Endpoint  Control and Status
EXTERN xdata volatile BYTE EP1OUTCS             _AT_ 0xE6A1;         // Endpoint 1 OUT Control and Status
EXTERN xdata volatile BYTE EP1INCS              _AT_ 0xE6A2;         // Endpoint 1 IN Control and Status
EXTERN xdata volatile BYTE EP2CS                _AT_ 0xE6A3;         // Endpoint 2 Control and Status
EXTERN xdata volatile BYTE EP4CS                _AT_ 0xE6A4;         // Endpoint 4 Control and Status
EXTERN xdata volatile BYTE EP6CS                _AT_ 0xE6A5;         // Endpoint 6 Control and Status
EXTERN xdata volatile BYTE EP8CS                _AT_ 0xE6A6;         // Endpoint 8 Control and Status
EXTERN xdata volatile BYTE EP2FIFOFLGS             _AT_ 0xE6A7;         // Endpoint 2 Flags
EXTERN xdata volatile BYTE EP4FIFOFLGS             _AT_ 0xE6A8;         // Endpoint 4 Flags
EXTERN xdata volatile BYTE EP6FIFOFLGS             _AT_ 0xE6A9;         // Endpoint 6 Flags
EXTERN xdata volatile BYTE EP8FIFOFLGS             _AT_ 0xE6AA;         // Endpoint 8 Flags
EXTERN xdata volatile BYTE EP2FIFOBCH           _AT_ 0xE6AB;         // EP2 FIFO total byte count H
EXTERN xdata volatile BYTE EP2FIFOBCL           _AT_ 0xE6AC;         // EP2 FIFO total byte count L
EXTERN xdata volatile BYTE EP4FIFOBCH           _AT_ 0xE6AD;         // EP4 FIFO total byte count H
EXTERN xdata volatile BYTE EP4FIFOBCL           _AT_ 0xE6AE;         // EP4 FIFO total byte count L
EXTERN xdata volatile BYTE EP6FIFOBCH           _AT_ 0xE6AF;         // EP6 FIFO total byte count H
EXTERN xdata volatile BYTE EP6FIFOBCL           _AT_ 0xE6B0;         // EP6 FIFO total byte count L
EXTERN xdata volatile BYTE EP8FIFOBCH           _AT_ 0xE6B1;         // EP8 FIFO total byte count H
EXTERN xdata volatile BYTE EP8FIFOBCL           _AT_ 0xE6B2;         // EP8 FIFO total byte count L
EXTERN xdata volatile BYTE SUDPTRH              _AT_ 0xE6B3;         // Setup Data Pointer high address byte
EXTERN xdata volatile BYTE SUDPTRL              _AT_ 0xE6B4;         // Setup Data Pointer low address byte
EXTERN xdata volatile BYTE SUDPTRCTL           _AT_ 0xE6B5;         // Setup Data Pointer Auto Mode
EXTERN xdata volatile BYTE SETUPDAT[8]          _AT_ 0xE6B8;         // 8 bytes of SETUP data

// GPIF

EXTERN xdata volatile BYTE GPIFWFSELECT             _AT_ 0xE6C0;         // Waveform Selector
EXTERN xdata volatile BYTE GPIFIDLECS              _AT_ 0xE6C1;         // GPIF Done, GPIF IDLE drive mode
EXTERN xdata volatile BYTE GPIFIDLECTL          _AT_ 0xE6C2;         // Inactive Bus, CTL states
EXTERN xdata volatile BYTE GPIFCTLCFG            _AT_ 0xE6C3;         // CTL OUT pin drive
EXTERN xdata volatile BYTE GPIFADRH             _AT_ 0xE6C4;         // GPIF Address H
EXTERN xdata volatile BYTE GPIFADRL             _AT_ 0xE6C5;         // GPIF Address L

EXTERN xdata volatile BYTE GPIFTCB3          _AT_ 0xE6CE;  // GPIF Transaction Count Byte 3
EXTERN xdata volatile BYTE GPIFTCB2          _AT_ 0xE6CF;  // GPIF Transaction Count Byte 2
EXTERN xdata volatile BYTE GPIFTCB1          _AT_ 0xE6D0;  // GPIF Transaction Count Byte 1
EXTERN xdata volatile BYTE GPIFTCB0          _AT_ 0xE6D1;  // GPIF Transaction Count Byte 0

#define EP2GPIFTCH GPIFTCB1   // these are here for backwards compatibility
#define EP2GPIFTCL GPIFTCB0   // before REVE silicon (ie. REVB and REVD)
#define EP4GPIFTCH GPIFTCB1   // these are here for backwards compatibility
#define EP4GPIFTCL GPIFTCB0   // before REVE silicon (ie. REVB and REVD)
#define EP6GPIFTCH GPIFTCB1   // these are here for backwards compatibility
#define EP6GPIFTCL GPIFTCB0   // before REVE silicon (ie. REVB and REVD)
#define EP8GPIFTCH GPIFTCB1   // these are here for backwards compatibility
#define EP8GPIFTCL GPIFTCB0   // before REVE silicon (ie. REVB and REVD)

//EXTERN xdata volatile BYTE EP2GPIFTCH               _AT_ 0xE6D0;         // EP2 GPIF Transaction Count High
//EXTERN xdata volatile BYTE EP2GPIFTCL               _AT_ 0xE6D1;         // EP2 GPIF Transaction Count Low
EXTERN xdata volatile BYTE EP2GPIFFLGSEL            _AT_ 0xE6D2;         // EP2 GPIF Flag select
EXTERN xdata volatile BYTE EP2GPIFPFSTOP            _AT_ 0xE6D3;         // Stop GPIF EP2 transaction on prog. flag
EXTERN xdata volatile BYTE EP2GPIFTRIG              _AT_ 0xE6D4;         // EP2 FIFO Trigger
//EXTERN xdata volatile BYTE EP4GPIFTCH               _AT_ 0xE6D8;         // EP4 GPIF Transaction Count High
//EXTERN xdata volatile BYTE EP4GPIFTCL               _AT_ 0xE6D9;         // EP4 GPIF Transactionr Count Low
EXTERN xdata volatile BYTE EP4GPIFFLGSEL            _AT_ 0xE6DA;         // EP4 GPIF Flag select
EXTERN xdata volatile BYTE EP4GPIFPFSTOP            _AT_ 0xE6DB;         // Stop GPIF EP4 transaction on prog. flag
EXTERN xdata volatile BYTE EP4GPIFTRIG              _AT_ 0xE6DC;         // EP4 FIFO Trigger
//EXTERN xdata volatile BYTE EP6GPIFTCH               _AT_ 0xE6E0;         // EP6 GPIF Transaction Count High
//EXTERN xdata volatile BYTE EP6GPIFTCL               _AT_ 0xE6E1;         // EP6 GPIF Transaction Count Low
EXTERN xdata volatile BYTE EP6GPIFFLGSEL            _AT_ 0xE6E2;         // EP6 GPIF Flag select
EXTERN xdata volatile BYTE EP6GPIFPFSTOP            _AT_ 0xE6E3;         // Stop GPIF EP6 transaction on prog. flag
EXTERN xdata volatile BYTE EP6GPIFTRIG              _AT_ 0xE6E4;         // EP6 FIFO Trigger
//EXTERN xdata volatile BYTE EP8GPIFTCH               _AT_ 0xE6E8;         // EP8 GPIF Transaction Count High
//EXTERN xdata volatile BYTE EP8GPIFTCL               _AT_ 0xE6E9;         // EP8GPIF Transaction Count Low
EXTERN xdata volatile BYTE EP8GPIFFLGSEL            _AT_ 0xE6EA;         // EP8 GPIF Flag select
EXTERN xdata volatile BYTE EP8GPIFPFSTOP            _AT_ 0xE6EB;         // Stop GPIF EP8 transaction on prog. flag
EXTERN xdata volatile BYTE EP8GPIFTRIG              _AT_ 0xE6EC;         // EP8 FIFO Trigger
EXTERN xdata volatile BYTE XGPIFSGLDATH              _AT_ 0xE6F0;         // GPIF Data H (16-bit mode only)
EXTERN xdata volatile BYTE XGPIFSGLDATLX             _AT_ 0xE6F1;         // Read/Write GPIF Data L & trigger transac
EXTERN xdata volatile BYTE XGPIFSGLDATLNOX           _AT_ 0xE6F2;         // Read GPIF Data L, no transac trigger
EXTERN xdata volatile BYTE GPIFREADYCFG             _AT_ 0xE6F3;         // Internal RDY,Sync/Async, RDY5CFG
EXTERN xdata volatile BYTE GPIFREADYSTAT            _AT_ 0xE6F4;         // RDY pin states
EXTERN xdata volatile BYTE GPIFABORT                _AT_ 0xE6F5;         // Abort GPIF cycles

// UDMA

EXTERN xdata volatile BYTE FLOWSTATE		_AT_	0xE6C6;		//Defines GPIF flow state
EXTERN xdata volatile BYTE FLOWLOGIC		_AT_	0xE6C7;		//Defines flow/hold decision criteria
EXTERN xdata volatile BYTE FLOWEQ0CTL		_AT_	0xE6C8;		//CTL states during active flow state
EXTERN xdata volatile BYTE FLOWEQ1CTL		_AT_	0xE6C9;		//CTL states during hold flow state
EXTERN xdata volatile BYTE FLOWHOLDOFF		_AT_	0xE6CA;
EXTERN xdata volatile BYTE FLOWSTB			_AT_	0xE6CB;		//CTL/RDY Signal to use as master data strobe 
EXTERN xdata volatile BYTE FLOWSTBEDGE		_AT_	0xE6CC;		//Defines active master strobe edge
EXTERN xdata volatile BYTE FLOWSTBHPERIOD		_AT_	0xE6CD;		//Half Period of output master strobe
EXTERN xdata volatile BYTE GPIFHOLDAMOUNT		_AT_	0xE60C;		//Data delay shift 
EXTERN xdata volatile BYTE UDMACRCH		_AT_	0xE67D;		//CRC Upper byte
EXTERN xdata volatile BYTE UDMACRCL		_AT_	0xE67E;		//CRC Lower byte
EXTERN xdata volatile BYTE UDMACRCQUAL		_AT_	0xE67F;		//UDMA In only, host terminated use only


// Debug/Test

EXTERN xdata volatile BYTE DBUG                 _AT_ 0xE6F8;         // Debug
EXTERN xdata volatile BYTE TESTCFG              _AT_ 0xE6F9;         // Test configuration
EXTERN xdata volatile BYTE USBTEST              _AT_ 0xE6FA;         // USB Test Modes
EXTERN xdata volatile BYTE CT1                  _AT_ 0xE6FB;         // Chirp Test--Override
EXTERN xdata volatile BYTE CT2                  _AT_ 0xE6FC;         // Chirp Test--FSM
EXTERN xdata volatile BYTE CT3                  _AT_ 0xE6FD;         // Chirp Test--Control Signals
EXTERN xdata volatile BYTE CT4                  _AT_ 0xE6FE;         // Chirp Test--Inputs

// Endpoint Buffers

EXTERN xdata volatile BYTE EP0BUF[64]           _AT_ 0xE740;         // EP0 IN-OUT buffer
EXTERN xdata volatile BYTE EP1OUTBUF[64]        _AT_ 0xE780;         // EP1-OUT buffer
EXTERN xdata volatile BYTE EP1INBUF[64]         _AT_ 0xE7C0;         // EP1-IN buffer
EXTERN xdata volatile BYTE EP2FIFOBUF[1024]         _AT_ 0xF000;         // 512/1024-byte EP2 buffer (IN or OUT)
EXTERN xdata volatile BYTE EP4FIFOBUF[1024]         _AT_ 0xF400;         // 512 byte EP4 buffer (IN or OUT)
EXTERN xdata volatile BYTE EP6FIFOBUF[1024]         _AT_ 0xF800;         // 512/1024-byte EP6 buffer (IN or OUT)
EXTERN xdata volatile BYTE EP8FIFOBUF[1024]         _AT_ 0xFC00;         // 512 byte EP8 buffer (IN or OUT)

#undef EXTERN
#undef _AT_

/*-----------------------------------------------------------------------------
   This block of code redefines all of the _AT_ code above to do a direct replacement
   of the constant values for the FX2 registers.  The _AT_ section above will define
   the registers so that they can be named by the debugger.  This section tells
   the assembler the constant values of the pointers so that DPTR optimization
   can be performed.
-----------------------------------------------------------------------------*/
#define GPIF_WAVE_DATA       (XBYTE[ 0xE400])

⌨️ 快捷键说明

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