亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? fx2_to_extsram.lst

?? 和LA_USB配套使用,USB 固件部分,對學(xué)習(xí)FX2有一定幫助
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V7.50   FX2_TO_EXTSRAM                                                        11/28/2006 14:33:42 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE FX2_TO_EXTSRAM
OBJECT MODULE PLACED IN FX2_to_extSRAM.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE FX2_to_extSRAM.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #pragma NOIV               // Do not generate interrupt vectors
   2          //-----------------------------------------------------------------------------
   3          //   File:       FX2_to_extsyncFIFO.c
   4          //   Contents:   Hooks required to implement FX2 GPIF to external sync. FIFO
   5          //               interface using CY4265-15AC
   6          //
   7          //   Copyright (c) 2003 Cypress Semiconductor, Inc. All rights reserved
   8          //-----------------------------------------------------------------------------
   9          #include "fx2.h"
  10          #include "fx2regs.h"
  11          #include "fx2sdly.h" 
  12          #include "user.h"
  13          
  14          #define EXTSRAMRDEN   GPIFREADYSTAT & bmBIT0  //RDY0
  15          //#define EXTSRAMWREN  GPIFREADYSTAT & bmBIT0                     //RDY0
  16          
  17          #define GPIFTRIGRD 4
  18          
  19          #define GPIF_EP2 0
  20          #define GPIF_EP4 1
  21          #define GPIF_EP6 2
  22          #define GPIF_EP8 3
  23          
  24          extern BOOL GotSUD;             // Received setup data flag
  25          extern BOOL Sleep;
  26          extern BOOL Rwuen;
  27          extern BOOL Selfpwr;
  28          
  29          BYTE Configuration;                 // Current configuration
  30          BYTE AlternateSetting;              // Alternate settings
  31          BOOL enum_high_speed = FALSE;       // flag to let firmware know FX2 enumerated at high speed
  32          extern const char xdata FlowStates[36];
  33          
  34          BOOL in_enable = FALSE;             // flag to enable IN transfers
  35          BOOL IN_STOP_FLAG = FALSE;          // flag to disable IN transfers
  36          BOOL out_enable = FALSE;            // flag to enable OUT transfers
  37          BOOL OUT_STOP_FLAG = FALSE;         // flag to disable OUT transfers
  38          BOOL PAUSE_FLAG = FALSE;            // flag to pause OUT transfers
  39          
  40          int usb_RD_CNT = 0x0;
  41           
  42          //-----------------------------------------------------------------------------
  43          // Task Dispatcher hooks
  44          //   The following hooks are called by the task dispatcher.
  45          //-----------------------------------------------------------------------------
  46          void Setup_FLOWSTATE_Write ( void );
  47          void Setup_FLOWSTATE_Read ( void );
  48          void GpifInit ();
  49          
  50          void TD_Init(void)             // Called once at startup
  51          {
  52   1        // set the CPU clock to 48MHz
  53   1        CPUCS = ((CPUCS & ~bmCLKSPD) | bmCLKSPD1);
  54   1        SYNCDELAY; 
  55   1      
C51 COMPILER V7.50   FX2_TO_EXTSRAM                                                        11/28/2006 14:33:42 PAGE 2   

  56   1        EP2CFG = 0xA0;     // EP2OUT, bulk, size 512, 4x buffered
  57   1        SYNCDELAY;                         
  58   1        EP4CFG = 0x00;     // EP4 not valid
  59   1        SYNCDELAY;              
  60   1        EP6CFG = 0xE0;     // EP6IN, bulk, size 512, 4x buffered     
  61   1        SYNCDELAY;
  62   1        EP8CFG = 0x00;     // EP8 not valid
  63   1        SYNCDELAY;
  64   1        
  65   1        
  66   1        FIFORESET = 0x80;  // set NAKALL bit to NAK all transfers from host
  67   1        SYNCDELAY;
  68   1        FIFORESET = 0x02;  // reset EP2 FIFO
  69   1        SYNCDELAY;
  70   1        FIFORESET = 0x06;  // reset EP6 FIFO
  71   1        SYNCDELAY;
  72   1        FIFORESET = 0x00;  // clear NAKALL bit to resume normal operation
  73   1        SYNCDELAY;
  74   1      
  75   1        EP2FIFOCFG = 0x01; // allow core to see zero to one transition of auto out bit
  76   1        SYNCDELAY;
  77   1        EP2FIFOCFG = 0x11; // auto out mode, disable PKTEND zero length send, word ops
  78   1        SYNCDELAY;
  79   1        EP6FIFOCFG = 0x09; // auto in mode, disable PKTEND zero length send, word ops
  80   1        SYNCDELAY; 
  81   1        
  82   1        GpifInit (); // initialize GPIF registers
  83   1        
  84   1        SYNCDELAY;
  85   1        EP2FIFOPFH = 0x88;      //PAE = (<=1024)
  86   1        SYNCDELAY;
  87   1        EP2FIFOPFL = 0x0;
  88   1        SYNCDELAY;
  89   1        EP2GPIFFLGSEL = 0x01; // For EP2OUT, GPIF uses EF flag
  90   1        SYNCDELAY;
  91   1      //  EP6GPIFFLGSEL = 0x02; // For EP6IN, GPIF uses FF flag
  92   1      //  SYNCDELAY;
  93   1        EP6FIFOPFH = 0x10;      //PAF = (<=2 * 512)
  94   1        SYNCDELAY;
  95   1        EP6FIFOPFL = 0x0;
  96   1        SYNCDELAY;
  97   1        EP6GPIFFLGSEL = 0x02; // For EP6IN, GPIF uses PAF flag
  98   1        SYNCDELAY;
  99   1        
 100   1        // global flowstate register initializations
 101   1      
 102   1        FLOWLOGIC = FlowStates[19];      // 0011 0110b - LFUNC[1:0] = 00 (A AND B), TERMA/B[2:0]=110 (FIFO Flag)
 103   1        SYNCDELAY;
 104   1        FLOWSTB = FlowStates[23];        // 0000 0100b - MSTB[2:0] = 100 (CTL4), not used as strobe
 105   1        SYNCDELAY;
 106   1        GPIFHOLDAMOUNT = FlowStates[26]; // hold data for one half clock (10ns) assuming 48MHz IFCLK
 107   1        SYNCDELAY;
 108   1        FLOWSTBEDGE = FlowStates[24];    // move data on both edges of clock
 109   1        SYNCDELAY;
 110   1        FLOWSTBHPERIOD = FlowStates[25]; // 20.83ns half period
 111   1        SYNCDELAY;  
 112   1      
 113   1      
 114   1              //port A as output io
 115   1              PORTACFG =0x00;
 116   1              OEA = 0xFF;     // turn on PA as output pin
 117   1              IOA &=0xEF;     // bring PA4 low
C51 COMPILER V7.50   FX2_TO_EXTSRAM                                                        11/28/2006 14:33:42 PAGE 3   

 118   1              SYNCDELAY;  
 119   1              IOA |= 0x10;     // bring PA4 high(usb reset)
 120   1      
 121   1      }
 122          
 123          void TD_Poll(void)
 124          {
 125   1        //OUTPUT 
 126   1        if(out_enable)                             // if OUT transfers are enabled
 127   1        {
 128   2                if( GPIFTRIG & 0x80 )               // if GPIF interface IDLE
 129   2                {
 130   3                      if(OUT_STOP_FLAG)
 131   3                      {
 132   4                              OUT_STOP_FLAG = FALSE;
 133   4                              out_enable = FALSE;                      
 134   4                              IOA |=0x08;
 135   4                      }
 136   3                                                               
 137   3                  if (  ( EP24FIFOFLGS & 0x04 ) )  // if there's a packet >1024 bytes for EP2
 138   3                      {
 139   4                    //if ( EXTSRAMWREN)               // if the external SRAM enable write
 140   4                        //{  
 141   4                      IOA &= 0xEF;     // bring PA4 high(usb reset)
 142   4      /*                  if(enum_high_speed)
 143   4                              {
 144   4                            SYNCDELAY;    
 145   4                        GPIFTCB1 = 0x02;            // setup transaction count (2*512 bytes/2 for word wide -> 0x0100)
 146   4                        SYNCDELAY;
 147   4                        GPIFTCB0 = 0x00;
 148   4                        SYNCDELAY;
 149   4                              }
 150   4                              else
 151   4                              {
 152   4                                SYNCDELAY;
 153   4                                GPIFTCB1 = 0x02;            // setup transaction count (2*512 bytes/2 for word wide -> 0x20)
 154   4                        SYNCDELAY;
 155   4                                GPIFTCB0 = 0x00;
 156   4                                SYNCDELAY;
 157   4                              }
 158   4      */                    SYNCDELAY;    
 159   4                        GPIFTCB1 = 0x02;            // setup transaction count (2*512 bytes/2 for word wide -> 0x0100)
 160   4                        SYNCDELAY;
 161   4                        GPIFTCB0 = 0x00;
 162   4                        SYNCDELAY;
 163   4                          Setup_FLOWSTATE_Write();      // setup FLOWSTATE registers for FIFO Write operation
 164   4                      SYNCDELAY;
 165   4                      GPIFTRIG = GPIF_EP2;          // launch GPIF FIFO WRITE Transaction from EP2 FIFO
 166   4                      SYNCDELAY;
 167   4                              IOA |=0x08;
 168   4      
 169   4                        //}
 170   4                      }
 171   3                }
 172   2        }
 173   1        //INPUT FIFO
 174   1        if(in_enable)                             // if IN transfers are enabled
 175   1        {      
 176   2          if ( GPIFTRIG & 0x80 )                  // if GPIF interface IDLE
 177   2          {      
 178   3                      if(IN_STOP_FLAG)
 179   3                      {  
C51 COMPILER V7.50   FX2_TO_EXTSRAM                                                        11/28/2006 14:33:42 PAGE 4   

 180   4                              IN_STOP_FLAG = FALSE;
 181   4                              in_enable = FALSE;                       
 182   4                      }                                                        
 183   3                      if ( EXTSRAMRDEN )                // if external sram enable read
 184   3                      {         
 185   4                              if ( ( EP68FIFOFLGS & 0x04 ) )     // if EP6 FIFO is <1024
 186   4                              {      
 187   5                                    if(enum_high_speed)
 188   5                                        {       PA3=1 ;
 189   6                                      SYNCDELAY;    
 190   6                                      GPIFTCB1 = 0x02;                // setup transaction count (2*512 bytes/2 for word wide -> 0x01
             -00)
 191   6                                      SYNCDELAY;
 192   6                                      GPIFTCB0 = 0x00;
 193   6                                      SYNCDELAY;
 194   6                                        }
 195   5                                        else
 196   5                                        {
 197   6                                          SYNCDELAY;
 198   6                                          GPIFTCB1 = 0x02;                // setup transaction count (2*512 bytes/2 for word wide -> 0x20)
 199   6                                      SYNCDELAY;
 200   6                                          GPIFTCB0 = 0x00;
 201   6                                          SYNCDELAY;
 202   6                                        }
 203   5                              
 204   5                                    Setup_FLOWSTATE_Read();           // setup FLOWSTATE registers for FIFO Read operation
 205   5                                    SYNCDELAY;
 206   5                                    GPIFTRIG = GPIFTRIGRD | GPIF_EP6; // launch GPIF FIFO READ Transaction to EP6 FIFO
 207   5                                    SYNCDELAY;
 208   5                                      /*  usb_RD_CNT++;
 209   5                              if( usb_RD_CNT >=256 )                  //32kbytes
 210   5                        {       
 211   5                                usb_RD_CNT = 0;
 212   5      
 213   5                              //send usb_rd_end signal to cpld to idle state of lsm
 214   5                            IOA &= 0xFB;     // bring PA2 low
 215   5                                IOA |= 0x04;     // pull PA2 high initially   
 216   5                            EZUSB_Delay (1); // keep PA2 low for ~1ms, more than enough time
 217   5                            IOA &= 0xFB;     // bring PA2 low
 218   5                              //reset fifo of ep6
 219   5                                FIFORESET = 0x80;  // set NAKALL bit to NAK all transfers from host
 220   5                                SYNCDELAY;
 221   5                                FIFORESET = 0x06;  // reset EP6 FIFO
 222   5                                SYNCDELAY;
 223   5                                FIFORESET = 0x00;  // clear NAKALL bit to resume normal operation
 224   5                                SYNCDELAY;   
 225   5                              }
 226   5                         */
 227   5                              }
 228   4                      }
 229   3          }
 230   2        }
 231   1      }
 232          
 233          BOOL TD_Suspend(void)          // Called before the device goes into suspend mode
 234          {
 235   1         return(TRUE);
 236   1      }
 237          
 238          BOOL TD_Resume(void)          // Called after the device resumes
 239          {
 240   1         return(TRUE);
C51 COMPILER V7.50   FX2_TO_EXTSRAM                                                        11/28/2006 14:33:42 PAGE 5   

 241   1      }
 242          
 243          //-----------------------------------------------------------------------------
 244          // Device Request hooks
 245          //   The following hooks are called by the end point 0 device request parser.
 246          //-----------------------------------------------------------------------------
 247          
 248          BOOL DR_GetDescriptor(void)
 249          {
 250   1         return(TRUE);
 251   1      }
 252          
 253          BOOL DR_SetConfiguration(void)   // Called when a Set Configuration command is received
 254          {
 255   1        if( EZUSB_HIGHSPEED( ) )
 256   1        { // FX2 enumerated at high speed
 257   2          SYNCDELAY;                  // 
 258   2          EP6AUTOINLENH = 0x02;       // set AUTOIN commit length to 512 bytes
 259   2          SYNCDELAY;                  // 
 260   2          EP6AUTOINLENL = 0x00;
 261   2          SYNCDELAY;                  
 262   2          enum_high_speed = TRUE;
 263   2        }
 264   1        else
 265   1        { // FX2 enumerated at full speed
 266   2          SYNCDELAY;                   
 267   2          EP6AUTOINLENH = 0x00;       // set AUTOIN commit length to 64 bytes
 268   2          SYNCDELAY;                   
 269   2          EP6AUTOINLENL = 0x40;
 270   2          SYNCDELAY;                  
 271   2          enum_high_speed = FALSE;
 272   2        }
 273   1      
 274   1        Configuration = SETUPDAT[2];
 275   1        return(TRUE);            // Handled by user code
 276   1      }
 277          
 278          BOOL DR_GetConfiguration(void)   // Called when a Get Configuration command is received
 279          {
 280   1         EP0BUF[0] = Configuration;
 281   1         EP0BCH = 0;
 282   1         EP0BCL = 1;
 283   1         return(TRUE);            // Handled by user code
 284   1      }
 285          
 286          BOOL DR_SetInterface(void)       // Called when a Set Interface command is received
 287          {
 288   1         AlternateSetting = SETUPDAT[2];
 289   1         return(TRUE);            // Handled by user code
 290   1      }
 291          
 292          BOOL DR_GetInterface(void)       // Called when a Set Interface command is received
 293          {
 294   1         EP0BUF[0] = AlternateSetting;
 295   1         EP0BCH = 0;
 296   1         EP0BCL = 1;
 297   1         return(TRUE);            // Handled by user code
 298   1      }
 299          
 300          BOOL DR_GetStatus(void)
 301          {
 302   1         return(TRUE);
C51 COMPILER V7.50   FX2_TO_EXTSRAM                                                        11/28/2006 14:33:42 PAGE 6   

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美日韩亚州综合| 一区二区三区自拍| 老司机精品视频在线| 在线观看一区不卡| 亚洲国产va精品久久久不卡综合 | 色欧美日韩亚洲| av电影在线不卡| 99re这里只有精品6| 国产三级久久久| 国产一区999| 国产精品免费视频网站| gogogo免费视频观看亚洲一| 国产精品毛片a∨一区二区三区| 欧美大片在线观看一区| 日韩免费福利电影在线观看| 欧美撒尿777hd撒尿| 91在线丨porny丨国产| 99麻豆久久久国产精品免费优播| 国产老肥熟一区二区三区| 国产在线观看一区二区| 久久99国产精品久久99| 国产精品天美传媒沈樵| 国产视频一区在线播放| 中文字幕av在线一区二区三区| 《视频一区视频二区| 色综合天天视频在线观看| 首页欧美精品中文字幕| 精品国产一区二区三区四区四| 九色|91porny| 亚洲视频精选在线| 777午夜精品视频在线播放| 国产一区二区成人久久免费影院| 亚洲欧洲在线观看av| 精品视频1区2区3区| 久久国产免费看| **欧美大码日韩| 666欧美在线视频| 成人免费看视频| 午夜精品一区二区三区电影天堂 | 一区二区三区视频在线看| 欧美日韩mp4| 国产69精品久久久久毛片| 亚洲一区二区av电影| 日韩一区二区三免费高清| 精品综合久久久久久8888| 综合激情成人伊人| 日韩精品一区二区三区三区免费 | 欧美一级理论性理论a| 欧美三级三级三级| 国产麻豆成人传媒免费观看| 亚洲自拍偷拍综合| 久久精品视频网| 欧美日韩一级二级| 播五月开心婷婷综合| 精品一区二区三区免费观看| 一区二区在线看| 欧美国产精品久久| 日韩一区二区电影网| 91麻豆免费看片| 国产资源精品在线观看| 亚洲综合久久久| 国产精品电影院| 国产三级三级三级精品8ⅰ区| 欧美日韩一区高清| www..com久久爱| 国产精品99久久久久久似苏梦涵 | 日韩av一区二区三区| 久久99久久99精品免视看婷婷| 欧美少妇一区二区| 一区二区三区精密机械公司| 色哟哟一区二区三区| 亚洲欧洲一区二区在线播放| 成人免费高清视频| 成人黄色av网站在线| 日韩精品福利网| 亚洲色欲色欲www在线观看| 久久精品欧美一区二区三区麻豆| 欧美人牲a欧美精品| 99久久国产综合精品女不卡 | 捆绑紧缚一区二区三区视频| 亚洲宅男天堂在线观看无病毒| 国产精品美女视频| 亚洲国产高清在线| 国产欧美一区二区精品性色超碰 | 欧美日韩一区二区在线视频| 97se亚洲国产综合在线| 韩国精品主播一区二区在线观看| 色欧美88888久久久久久影院| 国产精品久久毛片| 国v精品久久久网| 亚洲国产一区二区视频| 亚洲品质自拍视频| 亚洲免费观看高清完整版在线| 国产精品免费视频观看| 国产香蕉久久精品综合网| 欧美tickle裸体挠脚心vk| 日韩欧美在线网站| 日韩欧美亚洲另类制服综合在线| 日韩一本二本av| 日韩精品影音先锋| 国产亚洲福利社区一区| 国产区在线观看成人精品| 国产精品午夜春色av| 国产精品入口麻豆九色| 亚洲免费观看在线视频| 亚洲一线二线三线视频| 亚洲成人先锋电影| 免费精品视频在线| 国产一区二区福利视频| 成人高清伦理免费影院在线观看| 欧美精品一区二区三区蜜臀| 国产福利精品一区二区| 从欧美一区二区三区| 99热这里都是精品| 精品亚洲porn| 国产风韵犹存在线视精品| 91欧美激情一区二区三区成人| 色999日韩国产欧美一区二区| 精品视频在线免费观看| 精品国产乱码久久久久久图片| 国产午夜亚洲精品羞羞网站| 亚洲欧美另类久久久精品2019| 亚洲成人精品一区二区| 蜜桃久久精品一区二区| 国产a精品视频| 欧美色视频在线| 精品久久久久久久人人人人传媒 | 成人激情动漫在线观看| 在线免费观看日本欧美| 日韩一二三四区| 国产精品国产三级国产普通话三级 | 日韩精品一卡二卡三卡四卡无卡| 精品亚洲porn| 欧美亚洲综合色| 精品国产a毛片| 亚洲日本成人在线观看| 美女视频一区二区三区| 不卡的电影网站| 日韩一级黄色片| 最新国产の精品合集bt伙计| 成人欧美一区二区三区视频网页| 日韩福利电影在线观看| 成人午夜精品一区二区三区| 在线不卡欧美精品一区二区三区| 欧美国产综合一区二区| 天堂蜜桃91精品| eeuss影院一区二区三区| 日韩一区二区三区在线视频| 国产精品视频一二三区| 香蕉成人伊视频在线观看| 99久久精品免费看| 精品少妇一区二区三区在线播放 | 亚洲美女电影在线| 久久超碰97人人做人人爱| 91浏览器打开| 久久精品夜夜夜夜久久| 99精品在线免费| 日韩毛片在线免费观看| 男人的天堂亚洲一区| 日韩手机在线导航| 色视频欧美一区二区三区| 视频一区中文字幕| av福利精品导航| 久久日韩精品一区二区五区| 亚洲国产wwwccc36天堂| aaa欧美日韩| 91精品在线观看入口| 一区二区三区免费看视频| 成人美女视频在线看| 免费日韩伦理电影| 26uuu精品一区二区在线观看| 欧美大尺度电影在线| 一区二区三区在线视频免费| 豆国产96在线|亚洲| 亚洲精品在线电影| 日韩电影在线免费观看| 欧美专区日韩专区| 亚洲欧洲制服丝袜| 成人免费视频caoporn| 久久精品一区二区三区四区| 九九热在线视频观看这里只有精品 | 舔着乳尖日韩一区| 在线精品观看国产| 亚洲免费在线观看| 99久久精品国产精品久久| 国产精品久久久久久福利一牛影视 | 国产一区在线观看麻豆| 欧美videossexotv100| 日韩中文字幕区一区有砖一区| 欧美亚日韩国产aⅴ精品中极品| 亚洲精品免费在线观看| 91蝌蚪porny| 亚洲精品网站在线观看| 97久久精品人人做人人爽| 欧美日韩国产另类不卡| 视频一区二区三区在线| 91精品国产色综合久久不卡蜜臀| 免费一级片91| 久久久久久免费毛片精品| 国产精品99久久久久久久vr|