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

📄 globals.lst

📁 linux下数据下载器的设计与实现
💻 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)

⌨️ 快捷键说明

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