?? globals.lst
字號:
C51 COMPILER V7.50 GLOBALS 10/12/2007 17:05:43 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE GLOBALS
OBJECT MODULE PLACED IN globals.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE globals.c OBJECTADVANCED OPTIMIZE(11,SIZE) REGFILE(.\nand_fw2k.ORC) BROWSE
-ORDER INCDIR(c:\cypress\usb\target\inc) DEFINE(NAND_2K) DEBUG
line level source
1 //-----------------------------------------------------------------------------
2 // File: globals.c
3 // Contents: contains all the global variables used by the firmware
4 //
5 // Format: indent 3. NO TABS!
6 //
7
8 //--------------------------------------------------------------------------
9
10 #include "globals.h"
11
12 BYTE AlternateSetting; // Alternate settings
13 BYTE Configuration; // Current configuration
14
15
16 WORD wPacketSize;
17 xdata volatile BYTE halfKBuffer[BUFFER_SIZE] _at_ 0xE000;
18 // Content of halfKBuffer:
19 // 0x000 - 0x100: copy of the dscr.a51
20 // 0x100 - 0x11F: SCSI Inquiry string
21 // 0x120 - 0x14F: USB String Descriptor-Index 0
22 // 0x150 - 0x17F: USB String Descriptor-Manufacturer - Index 1
23 // 0x180 - 0x1AF: USB String Descriptor-Product - Index 2
24 // 0x1B0 - 0x1DF: USB String Descriptor-Serial Number - Index 3
25 // 0x1E0 - 0x1FF: Reserved area for debug
26
27 WORD xdata cbwTagLow; // Tag from the most recent CBW packet
28 WORD xdata cbwTagHi;
29
30 DWORD xdata dataTransferLen;
31
32 bit currentState;
33 bit directionIn;
34 bit phaseErrorState;
35 bit bShortPacketSent;
36 bit Sleep;
37 #ifdef USE_2LUN
bit bLUN1;
#endif
40
41
42 DWORD dwLBA; // This is global to help the optimizer
43 //sbit bLBA0 = dwLBA ^ 24; // bit0 of dwLBA
44
45 BYTE bdata NandCfg; // bit0=cache read, bit1=prog cache, bit2=30ns/50ns
46 BYTE bdata FwCfg; // bit0=WriteProtec, bit1=ECC enable
47 sbit b30nsCycle = NandCfg ^ 2;
48 sbit bInternalMove = NandCfg ^ 4;
49 sbit bSoftErr = NandCfg ^ 5;
50
51 sbit bWriteProtectEnable = FwCfg ^ 0;
52 sbit bECCEnable = FwCfg ^ 1;
53 sbit bInterLeave = FwCfg ^ 2;
54 sbit bMsk = FwCfg ^ 7;
C51 COMPILER V7.50 GLOBALS 10/12/2007 17:05:43 PAGE 2
55
56 // the bit global variables
57 BYTE bdata gNandBits;
58 sbit bNeedErase = gNandBits ^ 0;
59 sbit bCnt = gNandBits ^ 1;
60 sbit bReload = gNandBits ^ 2;
61 sbit bFreeFound = gNandBits ^ 3;
62 sbit bEject = gNandBits ^ 4;
63 sbit b2BitErr = gNandBits ^ 5;
64 sbit bErr = gNandBits ^ 6;
65 sbit bFreeBlk = gNandBits ^ 7;
66
67
68 /////////////////////////////////////////////////////////////////////////////////////////
69 // NAND flash definitions
70 //
71 // gBank -- Represents a physical NAND chip select. A physical NAND package may have one or two
72 // chip selects, therefore, one or two banks.
73 // gCurZone -- Largest structure within the flash. Each zone contains 1024 physical blocks
74 // and 1000 logical blocks.
75 // gZones -- Total number of Zones in a NAND Flash
76 //
77 // gLog2Phy -- Table that maps the LBA received from the host into a physical address in the NAND.
78 // This table contains the physical address. It is indexed by the LBA.
79 // A value of FFFF means that the LBA does not have a physical address yet.
80 // This table is stored in the redundant area of the flash, one LBA per block.
81 /////////////////////////////////////////////////////////////////////////////////////////
82 //
83 // 128KByte flash chips with 512 byte pages have
84 // 512 bytes per page, 32 pages per block for 16K blocks * 8 zones
85 // 2K pages have
86 // 2K bytes/page, 64 pages/block for 64K blocks * 2 zones
87 //
88 // Zone = 1024 blocks (1000 LBAs)
89 // /---------/---------/---------/---------/---------/---------/|
90 // /---------/---------/---------/---------/---------/---------/||
91 // /---------/---------/---------/---------/---------/---------/|||
92 // |---------|---------|---------|---------|---------|---------|||||
93 // | | | | | | ||||/
94 // Block| Page | Page | Page | Page | Page | Page |||/
95 // | | | | | | ||/
96 // |---------|---------|---------|---------|---------|---------|/
97 //
98
99 DWORD gDriveCapacity;
100 WORD gSectorcount;
101 BYTE xdata gBank; // nand bank
102 bit bWPSwitchState; // Used to detect changes in the WP switch state
103 bit bNand2k;
104
105
106
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = ---- ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 9 ----
PDATA SIZE = ---- ----
DATA SIZE = 17 ----
IDATA SIZE = ---- ----
BIT SIZE = 7 ----
C51 COMPILER V7.50 GLOBALS 10/12/2007 17:05:43 PAGE 3
EDATA SIZE = ---- ----
HDATA SIZE = ---- ----
XDATA CONST SIZE = ---- ----
FAR CONST SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -