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

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

?? nf_drv.lst

?? 該源碼是基于atmel公司的89C51SND1C的mp3解決方案
?? LST
?? 第 1 頁 / 共 3 頁
字號(hào):
C51 COMPILER V7.00  NF_DRV                                                                 04/28/2004 09:31:55 PAGE 1   


C51 COMPILER V7.00, COMPILATION OF MODULE NF_DRV
OBJECT MODULE PLACED IN C:\Documents and Settings\lvxc\桌面\AA\nf_drv.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lib_mem\nf_1x_512b\nf_drv.c OPTIMIZE(7,SPEED) BROWSE INCDIR(.\modules\syste
                    -m;.\;.\;.\lib_refd) DEFINE(KEIL) DEBUG OBJECTEXTEND PRINT(.\nf_drv.lst) OBJECT(C:\Documents and Settings\lvxc\桌面\AA\nf
                    -_drv.obj)

stmt level    source

   1          /*C**************************************************************************
   2          * NAME:         nf_drv.c
   3          *----------------------------------------------------------------------------
   4          * Copyright (c) 2003 Atmel.
   5          *----------------------------------------------------------------------------
   6          * RELEASE:      snd1c-refd-nf-4_0_3      
   7          * REVISION:     1.17     
   8          *----------------------------------------------------------------------------
   9          * PURPOSE: 
  10          * This file contains the NF driver routines
  11          *****************************************************************************/
  12          
  13          /*_____ I N C L U D E S ____________________________________________________*/
  14          
  15          #include "config.h"                         /* system configuration */
  16          #include "board.h"                          /* board definition */
  17          #include "nf_drv.h"                         /* nf driver definition  */
  18          
  19          
  20          /*_____ M A C R O S ________________________________________________________*/
  21          
  22          #ifndef NF_CAPACITY_AUTO_DETECT
                #error  NF_CAPACITY_AUTO_DETECT must be defined in board.h
              #endif
  25          
  26          #if NF_CONFIG != NF_1X_512B
                #error NF_CONFIG must be defined with NF_1X_512B in config.h
              #endif
  29          
  30          #ifndef NF_FULL_CHIP_ERASE
                #error NF_FULL_CHIP_ERASE  must be set to TRUE or FALSE in config.h
              #endif
  33          
  34          #ifndef MEM_RESERVED_SIZE
                #error MEM_RESERVED_SIZE must be defined in config.h
              #endif
  37          
  38          /*_____ D E F I N I T I O N ________________________________________________*/
  39          
  40          
  41          /*_____ D E C L A R A T I O N ______________________________________________*/
  42          
  43          extern  pdata Byte gl_buffer[];                       /* global buffer of 256 bytes */
  44          extern  xdata Byte nf_send_cmd;                       /* Command */
  45          extern  xdata Byte nf_send_add;                       /* Address */
  46          extern  xdata Byte volatile nf_data;                  /* Data */
  47          
  48          extern  data  Uint32  gl_ptr_mem;                     /* memory data pointer */
  49          extern  data  Uint32 gl_address;                      /* general address variable */
  50          extern  data  Uint16 nf_look_up_table_block;          /* Look up table block address */
  51          extern  data  Byte gl_buf_free_idx ;
  52          extern  data  Byte nf_gl_buf_idx;
  53          extern  data  Uint32 nf_current_physical_sector_addr; /* give the address of the current sector */ 
C51 COMPILER V7.00  NF_DRV                                                                 04/28/2004 09:31:55 PAGE 2   

  54          extern  data  Byte nf_zone;
  55          
  56          
  57                  idata Uint16 nf_redundant_logical_block_value;/* Logical block value in the redundant area  */
  58          extern  idata Byte nf_gl_buf_idx_max;
  59          extern  idata Uint16 nf_logical_block;
  60          
  61          extern  xdata Byte nf_spare_block_number[NF_ZONE_MAX];/* Number of free spare block in each zone */
  62          extern  xdata Byte    nf_lut_index[NF_ZONE_MAX];
  63          extern  xdata Uint16  nf_buf_free[24];
  64          extern  xdata Uint16  nf_block_to_be_deleted;
  65          extern  xdata Uint16  nf_block_min;
  66          extern  xdata Uint16  nf_lut_block[NF_ZONE_MAX];       /* LUT address in block value */
  67          extern  xdata Union16 nf_buf[NF_BUFFER_SIZE];         /* Buffer for write operation: contains physical blo
             -ck address */
  68          extern  xdata Byte    nf_spare_block;
  69          extern  xdata Uint32  nf_reserved_space_start;
  70          
  71          #if (NF_CAPACITY_AUTO_DETECT == TRUE)                         /* If autodetect capacity nand flash is acti
             -ve */
  72            extern  xdata Byte    nf_zone_max;                          /* nf_zone_max definition   */
  73            extern  xdata Byte    nf_device_type;                       /* nf_device_type definition */
  74            extern  bdata bit     nf_4_cycle_address;                   /* nf_4_cycle_address definition */
  75          #endif
  76          
  77          
  78          /*F**************************************************************************
  79          * NAME: nf_check_status
  80          *----------------------------------------------------------------------------
  81          * PARAMS:
  82          *
  83          * return:
  84          *   NF status
  85          *----------------------------------------------------------------------------
  86          * PURPOSE:
  87          *   Check the status of the device after a program or an erase operation
  88          *----------------------------------------------------------------------------
  89          * EXAMPLE:
  90          *----------------------------------------------------------------------------
  91          * NOTE:
  92          *----------------------------------------------------------------------------
  93          * REQUIREMENTS: 
  94          * ram/xram:
  95          * cycle:
  96          * stack: 
  97          * code:
  98          
  99          *****************************************************************************/
 100          bit nf_check_status (void)
 101          {
 102   1        Nf_wait_busy();
 103   1        /* Status Type Command */
 104   1        Nf_send_command(NF_READ_STATUS_CMD);
 105   1      
 106   1        if ( (Nf_rd_byte() & 0x01) == 0x00)
 107   1        {  
 108   2          return OK;
 109   2        }
 110   1        else
 111   1        {
 112   2          return KO;
 113   2        }
C51 COMPILER V7.00  NF_DRV                                                                 04/28/2004 09:31:55 PAGE 3   

 114   1      }  
 115          
 116          /*F**************************************************************************
 117          * NAME: nf_calc_logical_block
 118          *----------------------------------------------------------------------------
 119          * PARAMS:
 120          *
 121          * return:
 122          *----------------------------------------------------------------------------
 123          * PURPOSE:
 124          *   Calculate the logical block value (used in spare data area)
 125          *----------------------------------------------------------------------------
 126          * EXAMPLE:
 127          *----------------------------------------------------------------------------
 128          * NOTE:
 129          *----------------------------------------------------------------------------
 130          * REQUIREMENTS: 
 131          * ram/xram:
 132          * cycle:
 133          * stack: 
 134          * code:
 135          *****************************************************************************/
 136          void nf_calc_logical_block (void)
 137          {
 138   1      volatile Byte dummy;
 139   1      bdata bit parity_bit;
 140   1      
 141   1        nf_redundant_logical_block_value = (nf_logical_block << 1) + 0x1000;
 142   1        /* Parity bit calculation */
 143   1        dummy = nf_redundant_logical_block_value;
 144   1        parity_bit = P;
 145   1        dummy = ((Byte*)&nf_redundant_logical_block_value)[0];
 146   1        if (P) parity_bit = ~parity_bit;
 147   1      
 148   1        if (parity_bit)
 149   1          nf_redundant_logical_block_value++;
 150   1      }
 151          
 152          
 153          /*F**************************************************************************
 154          * NAME: nf_update_spare_data
 155          *----------------------------------------------------------------------------
 156          * PARAMS:
 157          *
 158          * return:
 159          *----------------------------------------------------------------------------
 160          * PURPOSE:
 161          *   Update the value of the logical block on the spare data area
 162          *----------------------------------------------------------------------------
 163          * EXAMPLE:
 164          *----------------------------------------------------------------------------
 165          * NOTE:
 166          *----------------------------------------------------------------------------
 167          * REQUIREMENTS: 
 168          * ram/xram:
 169          * cycle:
 170          * stack: 
 171          * code:
 172          *****************************************************************************/
 173          void nf_update_spare_data (void)
 174          {
 175   1        Nf_wr_byte(0xFF);
C51 COMPILER V7.00  NF_DRV                                                                 04/28/2004 09:31:55 PAGE 4   

 176   1        Nf_wr_byte(0xFF);
 177   1        Nf_wr_byte(0xFF);
 178   1        Nf_wr_byte(0xFF);
 179   1        Nf_wr_byte(0xFF);
 180   1        Nf_wr_byte(0xFF);
 181   1        Nf_wr_byte(nf_redundant_logical_block_value >> 8);
 182   1        Nf_wr_byte(nf_redundant_logical_block_value );
 183   1        Nf_wr_byte(0xFF);
 184   1        Nf_wr_byte(0xFF);
 185   1        Nf_wr_byte(0xFF);
 186   1        Nf_wr_byte(nf_redundant_logical_block_value >> 8 );
 187   1        Nf_wr_byte(nf_redundant_logical_block_value );
 188   1        Nf_wr_byte(0xFF);
 189   1        Nf_wr_byte(0xFF);
 190   1        Nf_wr_byte(0xFF);
 191   1      }
 192          
 193          
 194          /*F**************************************************************************
 195          * NAME: nf_init_spare
 196          *----------------------------------------------------------------------------
 197          * PARAMS:   
 198          *
 199          * return:
 200          *----------------------------------------------------------------------------
 201          * PURPOSE:
 202          *   Initialize logical value in redundant data when a block is opened for 
 203          *   the first time and the sector inside the block is not 0.
 204          *----------------------------------------------------------------------------
 205          * EXAMPLE:
 206          *----------------------------------------------------------------------------
 207          * NOTE:
 208          *----------------------------------------------------------------------------
 209          * REQUIREMENTS: 
 210          * ram/xram:
 211          * cycle:
 212          * stack: 
 213          * code:
 214          *****************************************************************************/
 215          void nf_init_spare (void)
 216          {
 217   1      Byte j;
 218   1      
 219   1        for (j = (((Byte*)&gl_ptr_mem)[3] & NF_BLOCK_MASK); j != 0 ; j--)
 220   1        {              
 221   2          Nf_wait_busy();
 222   2          /* Write open on spare data area */
 223   2          Nf_write_open_C_area(nf_current_physical_sector_addr, 0x00);
 224   2          /* Update spare data */
 225   2          nf_update_spare_data();
 226   2      
 227   2          /* Send program command */ 
 228   2          Nf_send_command (NF_PAGE_PROGRAM_CMD);
 229   2          ((Byte*)&nf_current_physical_sector_addr)[3]++;
 230   2        }
 231   1      }
 232          
 233          
 234          /*F**************************************************************************

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品制服美女久久| 欧日韩精品视频| 色婷婷亚洲一区二区三区| 欧美日韩国产色站一区二区三区| 精品欧美黑人一区二区三区| 亚洲日本欧美天堂| 久久国产精品免费| 欧美亚洲愉拍一区二区| 亚洲国产精品成人综合色在线婷婷| 亚洲国产精品久久久久秋霞影院| 成人免费毛片片v| 精品剧情在线观看| 首页国产丝袜综合| 99re热这里只有精品视频| 久久综合视频网| 天天色图综合网| 在线观看欧美黄色| 亚洲天堂2014| av电影在线观看完整版一区二区| 久久综合久久鬼色中文字| 日韩黄色小视频| 欧美三级在线看| 亚洲日本va午夜在线影院| 国产精品系列在线播放| 日韩一区二区三区视频在线观看| 亚洲成人免费影院| 色88888久久久久久影院野外| 国产精品嫩草影院com| 国产一区二区三区高清播放| 日韩精品一区二区三区视频| 免费久久精品视频| 欧美一区二区福利视频| 午夜精品爽啪视频| 欧美日韩成人激情| 五月天丁香久久| 91精品国产综合久久久久久久久久| 亚洲欧美激情插 | 夜夜嗨av一区二区三区| www.日韩av| 亚洲欧美色图小说| 91福利在线看| 婷婷一区二区三区| 日韩一区二区在线观看视频| 久久成人免费电影| 久久久久国产精品麻豆| 国产91精品一区二区麻豆亚洲| 国产精品久久久久久久久快鸭| 99久久综合狠狠综合久久| 亚洲精品成人精品456| 欧美视频在线播放| 日本在线不卡一区| 久久精品一区二区三区不卡 | 欧美在线视频全部完| 亚洲影视在线播放| 欧美一区二区三区喷汁尤物| 久久99精品久久久久久| 国产欧美一区二区精品性色| 99免费精品在线观看| 亚洲成人激情自拍| 精品国产电影一区二区| 成人91在线观看| 亚洲国产综合91精品麻豆| 日韩一级成人av| 国产风韵犹存在线视精品| 成人欧美一区二区三区黑人麻豆| 欧美日韩一区二区三区四区| 久久99国内精品| 一区在线中文字幕| 欧美一区二区三区啪啪| av亚洲精华国产精华精华| 午夜欧美视频在线观看| 精品999在线播放| 91麻豆swag| 国内成+人亚洲+欧美+综合在线 | 国产性色一区二区| 欧美怡红院视频| 国产福利精品一区二区| 一区二区三区在线看| 精品国内二区三区| 欧美中文字幕一区二区三区亚洲| 国产在线视频不卡二| 一区二区三区中文在线| 久久色在线视频| 欧美日韩高清在线| 成人黄色a**站在线观看| 日韩av网站在线观看| 成人免费在线播放视频| 精品美女在线播放| 欧美日韩一级二级三级| 暴力调教一区二区三区| 黄页网站大全一区二区| 午夜精品久久久久久久99水蜜桃| 国产精品女人毛片| 久久久夜色精品亚洲| 欧美一级一区二区| 欧美午夜一区二区三区 | 国产精品狼人久久影院观看方式| 亚洲国产视频直播| 欧美国产精品中文字幕| 欧美成人一区二区三区在线观看| 欧美人妇做爰xxxⅹ性高电影| 91视频免费观看| 成人av网站在线观看免费| 国产精品18久久久久久久久久久久| 午夜电影网一区| 午夜视频一区在线观看| 亚洲午夜视频在线观看| 亚洲男人的天堂在线观看| 亚洲国产成人一区二区三区| 久久精品日韩一区二区三区| 精品免费一区二区三区| 欧美mv日韩mv亚洲| 欧美成人vps| 欧美成va人片在线观看| 日韩一卡二卡三卡四卡| 日韩欧美色综合| 5月丁香婷婷综合| 欧美乱妇23p| 欧美一区二区精品久久911| 8x8x8国产精品| 日韩欧美一区二区在线视频| 日韩欧美精品在线视频| 欧美大尺度电影在线| 久久综合久久99| 国产精品视频第一区| 亚洲人123区| 亚洲午夜日本在线观看| 日韩精品五月天| 精品中文字幕一区二区小辣椒| 国产综合色在线视频区| 国产.欧美.日韩| a级高清视频欧美日韩| 91国偷自产一区二区开放时间| 欧美亚洲一区二区在线| 8x福利精品第一导航| 日韩视频国产视频| 久久精品欧美一区二区三区不卡| 国产精品灌醉下药二区| 怡红院av一区二区三区| 日韩专区中文字幕一区二区| 精品一区二区综合| 不卡一区二区中文字幕| 在线观看国产精品网站| 日韩欧美国产综合在线一区二区三区| 久久中文字幕电影| 中文字幕在线不卡| 亚洲成av人片一区二区三区| 国产美女主播视频一区| 一本色道久久综合亚洲aⅴ蜜桃 | 偷拍一区二区三区| 国产一区美女在线| 色先锋久久av资源部| 欧美xxxxxxxx| 亚洲欧美电影一区二区| 另类欧美日韩国产在线| gogogo免费视频观看亚洲一| 欧美日韩一区视频| 久久久精品人体av艺术| 亚洲午夜免费电影| 国产盗摄一区二区| 精品1区2区3区| 国产日韩欧美精品在线| 午夜视频一区在线观看| jlzzjlzz欧美大全| 欧美一级日韩免费不卡| 亚洲欧美国产三级| 国产精品一区二区在线观看不卡| 欧美性做爰猛烈叫床潮| 欧美国产激情二区三区| 天天操天天综合网| 色悠悠久久综合| 久久久精品免费网站| 奇米一区二区三区av| 色综合久久久久综合体| 国产丝袜欧美中文另类| 秋霞影院一区二区| 在线观看三级视频欧美| 国产精品传媒视频| 国产一区二区成人久久免费影院| 欧美日韩精品一区二区在线播放| 国产精品国产a| 大胆亚洲人体视频| 日韩精品一区二区三区四区 | 亚洲欧洲国产日韩| 九九九精品视频| 日韩一区二区三区在线观看| 午夜精品一区二区三区三上悠亚| 91一区一区三区| 一色桃子久久精品亚洲| 成人激情综合网站| 国产女人18毛片水真多成人如厕| 国产最新精品免费| 欧美xxxxxxxx| 久久er99精品| 精品88久久久久88久久久| 麻豆freexxxx性91精品| 欧美一三区三区四区免费在线看| 天使萌一区二区三区免费观看| 91国产丝袜在线播放| 亚洲一区免费观看|