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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? nf_drv.lst

?? 該源碼是基于atmel公司的89C51SND1C的mp3解決方案
?? LST
?? 第 1 頁 / 共 3 頁
字號:
 480   2          Nf_wr_byte(0xFF);
 481   2          Nf_wr_byte(0xFF);
 482   2          Nf_wr_byte(0xFF);
 483   2      
 484   2          /* Valid the page programmation */
 485   2          Nf_send_command(NF_PAGE_PROGRAM_CMD);
C51 COMPILER V7.00  NF_DRV                                                                 04/28/2004 09:31:55 PAGE 9   

 486   2      
 487   2          start += 128;
 488   2          ((Byte*)&address2)[3]++;
 489   2          ((Byte*)&gl_address)[3]++;
 490   2        }
 491   1        while (start < 1024);
 492   1      
 493   1        nf_gl_buf_idx_max = 0;
 494   1      
 495   1        if (nf_lut_index[nf_zone] == 0)
 496   1        {
 497   2          address2 = (Uint32)(nf_lut_block[nf_zone])<<5;
 498   2          nf_lut_block[nf_zone] = nf_look_up_table_block;           /* Update address of look up table */
 499   2          Nf_wait_busy();
 500   2          Nf_send_command (NF_READ_A_AREA_CMD);
 501   2          Nf_send_command (NF_BLOCK_ERASE_CMD);                     /* Auto Block Erase Setup */
 502   2          Nf_send_address ( ((Byte*)&address2)[3] );                /* 2nd address cycle*/
 503   2          Nf_send_address ( ((Byte*)&address2)[2] );                /* 3rd address cycle*/
 504   2          if (NF_4_CYCLE_ADDRESS_BIT)                               /* Size of card >= 64Mbytes ?*/
 505   2            Nf_send_address ( ((Byte*)&address2)[1] );              /* 4th address cycle*/
 506   2          Nf_send_command(NF_BLOCK_ERASE_CONFIRM_CMD);              /* Erase command */
 507   2        }
 508   1      }
 509          
 510          
 511          /*F**************************************************************************
 512          * NAME: nf_mark_bad_block
 513          *----------------------------------------------------------------------------
 514          * PARAMS:   
 515          *           
 516          * return:   
 517          *----------------------------------------------------------------------------
 518          * PURPOSE:
 519          *   Write 0x00 on block status byte (Byte 5 of spare data)
 520          *----------------------------------------------------------------------------
 521          * EXAMPLE:
 522          *----------------------------------------------------------------------------
 523          * NOTE:
 524          *   This function use the global variable Uint32 address
 525          *----------------------------------------------------------------------------
 526          * REQUIREMENTS: 
 527          * ram/xram:
 528          * cycle:
 529          * stack: 
 530          * code:
 531          *****************************************************************************/
 532          void nf_mark_bad_block (void)
 533          {
 534   1        Nf_wait_busy();
 535   1        Nf_write_open_C_area(gl_address, 0x03);
 536   1      
 537   1        Nf_wr_byte(0x00);
 538   1        Nf_wr_byte(0x00);
 539   1        Nf_wr_byte(0x00);
 540   1      
 541   1        Nf_send_command (NF_PAGE_PROGRAM_CMD);  /* Send program command */
 542   1      }
 543          
 544          
 545          /*F**************************************************************************
 546          * NAME: nf_block_erase
 547          *----------------------------------------------------------------------------
C51 COMPILER V7.00  NF_DRV                                                                 04/28/2004 09:31:55 PAGE 10  

 548          * PARAMS:   
 549          *
 550          * return:
 551          *   OK : erase done
 552          *   KO : erase not done
 553          *----------------------------------------------------------------------------
 554          * PURPOSE: Erase a block on Nand Flash Media
 555          *----------------------------------------------------------------------------
 556          * EXAMPLE:
 557          *----------------------------------------------------------------------------
 558          * NOTE:
 559          *   This function use the global variable Uint32 address
 560          *----------------------------------------------------------------------------
 561          * REQUIREMENTS: 
 562          * ram/xram:
 563          * cycle:
 564          * stack: 
 565          * code:
 566          *****************************************************************************/
 567          bit nf_block_erase (Uint32 pos)
 568          {
 569   1        Nf_wait_busy();
 570   1        Nf_send_command (NF_READ_A_AREA_CMD);
 571   1        Nf_send_command (NF_BLOCK_ERASE_CMD);       /* Auto Block Erase Setup     */
 572   1      
 573   1        Nf_send_address ( ((Byte*)&pos)[3] );       /* 2nd address cycle          */
 574   1        Nf_send_address ( ((Byte*)&pos)[2] );       /* 3rd address cycle          */
 575   1        if (NF_4_CYCLE_ADDRESS_BIT)                 /* Size of card >= 64Mbytes ? */
 576   1          Nf_send_address ( ((Byte*)&pos)[1] );     /* 4th address cycle          */
 577   1      
 578   1        Nf_send_command(NF_BLOCK_ERASE_CONFIRM_CMD);/* Erase command              */
 579   1        return OK;
 580   1      }
 581          
 582          
 583          /*F**************************************************************************
 584          * NAME: nf_erase_all_block
 585          *----------------------------------------------------------------------------
 586          * PARAMS:   
 587          *           
 588          * return:   
 589          *   OK : erase done
 590          *   KO : erase not done
 591          *----------------------------------------------------------------------------
 592          * PURPOSE:
 593          *   This function erase all blocks on a NF card and write CIS information
 594          *----------------------------------------------------------------------------
 595          * EXAMPLE:
 596          *----------------------------------------------------------------------------
 597          * NOTE:
 598          *   This function use the global variable Uint32 address
 599          *----------------------------------------------------------------------------
 600          * REQUIREMENTS: 
 601          * ram/xram:
 602          * cycle:
 603          * stack: 
 604          * code:
 605          *****************************************************************************/
 606          bit nf_erase_all_block (void)
 607          {
 608   1      Byte i;
 609   1      Uint16 j;
C51 COMPILER V7.00  NF_DRV                                                                 04/28/2004 09:31:55 PAGE 11  

 610   1      Uint16 block;
 611   1      Uint16 block_reserved_space;
 612   1      bit erase;
 613   1       
 614   1        Nf_CS_ON();
 615   1        /* Erase all block */
 616   1        block_reserved_space = (Uint16) (((nf_reserved_space_start >> 5) % 1000));
 617   1        gl_address = 0;
 618   1        for (nf_zone = 0; nf_zone < NF_ZONE_MAX_CPT; nf_zone++)
 619   1        {
 620   2          for (j = 1024; j != 0; j--)
 621   2          {
 622   3            Nf_wait_busy();
 623   3            Nf_read_open_C_area(gl_address, 0x05); /* Read block status byte */
 624   3            erase = TRUE;
 625   3            if (Nf_rd_byte() != 0xFF) /* if bad block */
 626   3            {
 627   4              erase = FALSE;          /* don't erase block */
 628   4            }
 629   3            else
 630   3            {
 631   4              ((Byte*)&block)[0] = Nf_rd_byte(); /* Read logical block address */
 632   4              ((Byte*)&block)[1] = Nf_rd_byte();
 633   4              if ( (MEM_RESERVED_SIZE != 0) && (nf_zone == (NF_ZONE_MAX_CPT - 1)))
 634   4              {
 635   5                if ((((Byte*)&block)[0] & 0xF8) == 0x10)
 636   5                {
 637   6                  block = (block & 0x0FFF) >> 1;
 638   6                  if (block >= block_reserved_space)      /* If it is a reserved block */
 639   6                  {
 640   7                    erase = FALSE;                        /* Don't erase block */
 641   7                  }
 642   6                }
 643   5              }
 644   4            }
 645   3      
 646   3            if (NF_FULL_CHIP_ERASE == FALSE)
 647   3            {
 648   4              if (((Byte*)&block)[0] != 0xE8)
 649   4              {
 650   5                erase = FALSE;
 651   5              }
 652   4            }
 653   3            else
 654   3            {
 655   4              if (((Byte*)&block)[0] == 0x00)
 656   4              {
 657   5                erase = FALSE;
 658   5              }
 659   4            }
 660   3      
 661   3            if (erase)
 662   3            {
 663   4              nf_block_erase(gl_address);
 664   4              if (nf_check_status() == KO)
 665   4              { 
 666   5                nf_mark_bad_block(); /* Failure on erase operation */     
 667   5              }
 668   4              else
 669   4              { /* Fill redundant area with 0x00 */
 670   5                Nf_write_open_C_area(gl_address, 0x00);
 671   5                for (i = 16; i != 0; i--)
C51 COMPILER V7.00  NF_DRV                                                                 04/28/2004 09:31:55 PAGE 12  

 672   5                  Nf_wr_byte(0x00);
 673   5                Nf_send_command(NF_PAGE_PROGRAM_CMD);        /* Valid the page programmation */
 674   5                if ( nf_check_status() == KO)
 675   5                { 
 676   6                  nf_mark_bad_block();                        /* Failure on program operation */
 677   6                }
 678   5                else
 679   5                {
 680   6                  Nf_read_open_C_area(gl_address, 0x00);        /* Read 16 bytes */
 681   6                  i = 16;
 682   6                  while ((i != 0) && (Nf_rd_byte() == 0x00)) i--;
 683   6      
 684   6                  if (i)
 685   6                  {
 686   7                    nf_mark_bad_block();
 687   7                  }
 688   6                  else
 689   6                  {
 690   7                    nf_block_erase(gl_address);          /* Finally, erase the block */      
 691   7                    if ( nf_check_status() == KO)
 692   7                    { /* Failure on erase operation */
 693   8                      nf_mark_bad_block();      
 694   8                    }
 695   7                  }
 696   6                }
 697   5              }
 698   4            }
 699   3            gl_address += 32;
 700   3          }
 701   2        }
 702   1        return (nf_read_spare_byte());
 703   1      }
 704          
 705          
 706          
 707          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1855    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----       4
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      17
   IDATA SIZE       =      2    ----
   BIT SIZE         =      1       1
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
95精品视频在线| 色哦色哦哦色天天综合| 亚洲动漫第一页| 一二三区精品福利视频| 亚洲私人影院在线观看| 亚洲欧美在线视频| 亚洲黄色尤物视频| 亚洲综合一区二区三区| 午夜精品福利在线| 青青草原综合久久大伊人精品| 五月婷婷另类国产| 久国产精品韩国三级视频| 国产在线麻豆精品观看| 国产精品羞羞答答xxdd| 99精品一区二区三区| 欧美在线观看视频一区二区三区 | 欧美肥妇毛茸茸| 884aa四虎影成人精品一区| 欧美变态口味重另类| 久久久一区二区三区| 自拍偷拍国产精品| 午夜精品久久久久影视| 国产一区二区三区国产| 91国偷自产一区二区使用方法| 欧美日韩在线三区| 精品国产伦一区二区三区免费| 国产精品免费aⅴ片在线观看| 亚洲精选免费视频| 美女诱惑一区二区| 99久久久国产精品| 欧美一区二区三区在线视频| 国产亚洲一区二区三区四区| 亚洲精品欧美综合四区| 久久91精品久久久久久秒播| 91论坛在线播放| 精品福利一二区| 亚洲精品综合在线| 国产精品一区三区| 欧美麻豆精品久久久久久| 国产亚洲女人久久久久毛片| 亚洲高清免费观看 | 午夜激情一区二区三区| 国产精品资源站在线| 欧美私人免费视频| 欧美国产成人精品| 久久精品999| 欧美日韩综合在线| 18欧美亚洲精品| 韩国在线一区二区| 91精品国产色综合久久| 一区二区三区四区在线播放 | 日韩制服丝袜av| fc2成人免费人成在线观看播放| 6080国产精品一区二区| 亚洲精品欧美激情| 99在线精品免费| 国产视频911| 久久精品国产第一区二区三区| 欧美亚洲一区二区在线| 国产精品久久久久四虎| 国产精品一区二区在线观看网站| 欧美综合视频在线观看| 亚洲欧洲在线观看av| 国产激情精品久久久第一区二区 | 日韩免费视频一区二区| 亚洲国产精品一区二区久久恐怖片| 99久久综合国产精品| 久久精品一区二区三区av| 激情都市一区二区| 欧美成人在线直播| 激情丁香综合五月| 精品国精品自拍自在线| 蜜桃久久久久久久| 日韩精品自拍偷拍| 久久成人麻豆午夜电影| 日韩欧美你懂的| 精品写真视频在线观看| 亚洲精品在线免费观看视频| 黑人精品欧美一区二区蜜桃 | 99精品视频在线免费观看| 国产精品色哟哟| 99精品视频在线观看免费| 亚洲国产精品99久久久久久久久| 成人黄色小视频| 国产精品国产自产拍在线| 99久久99精品久久久久久| 亚洲免费成人av| 欧美日韩一区国产| 琪琪一区二区三区| 久久亚洲影视婷婷| 91伊人久久大香线蕉| 亚洲精品成人少妇| 欧美一区二区三区日韩| 精品一区二区三区免费观看| 国产亚洲美州欧州综合国| 大尺度一区二区| 一区二区三区欧美日韩| 欧美一级精品在线| 国产一区二区按摩在线观看| 亚洲欧美视频在线观看| 7777精品伊人久久久大香线蕉超级流畅 | 午夜精品一区二区三区三上悠亚| 欧美一区二区三区色| 国产91清纯白嫩初高中在线观看| 亚洲欧美国产高清| 欧美一区二区三区在线看| 丁香六月久久综合狠狠色| 亚洲一区二区中文在线| 精品国产乱码久久久久久图片| 成人国产精品免费观看视频| 亚洲国产美国国产综合一区二区| 日韩欧美电影一二三| www.亚洲色图| 毛片av中文字幕一区二区| 国产精品久久久久久久久果冻传媒 | 亚洲精品高清在线| 久久美女艺术照精彩视频福利播放| 色综合久久天天| 国产乱子伦视频一区二区三区| 亚洲一区二区不卡免费| 国产日韩欧美不卡| 欧美一区二区久久| 色欧美乱欧美15图片| 高清成人免费视频| 毛片一区二区三区| 日韩在线一二三区| 亚洲精品日韩综合观看成人91| 久久久国产一区二区三区四区小说| 欧美三级午夜理伦三级中视频| 成人开心网精品视频| 九一久久久久久| 蜜乳av一区二区三区| 亚洲第一久久影院| 一区二区不卡在线播放| 成人欧美一区二区三区1314| 久久蜜臀中文字幕| 精品伦理精品一区| 欧美tickling挠脚心丨vk| 666欧美在线视频| 在线电影一区二区三区| 欧美在线一二三四区| 色婷婷久久久久swag精品 | 51精品久久久久久久蜜臀| 色婷婷狠狠综合| 99re视频精品| 97久久精品人人澡人人爽| 国产.欧美.日韩| 国产福利一区二区三区视频| 国产乱码精品一区二区三区忘忧草 | 亚洲一区二区欧美日韩 | 这里只有精品免费| 欧美性做爰猛烈叫床潮| 在线观看区一区二| 欧美日韩一区不卡| 3d成人h动漫网站入口| 欧美一区二区三区在线观看| 日韩视频永久免费| 欧美放荡的少妇| 日韩精品一区在线| 久久伊99综合婷婷久久伊| 久久精品免费在线观看| 中文字幕的久久| 亚洲精品日韩专区silk| 亚洲图片欧美综合| 日本三级亚洲精品| 精品一区二区三区免费观看| 国产成人av福利| 99国产精品久| 欧美日高清视频| 精品国产区一区| 国产精品福利一区| 亚洲美女视频在线观看| 韩国欧美一区二区| a级高清视频欧美日韩| 欧美色手机在线观看| 日韩一区二区视频在线观看| 国产亚洲精品bt天堂精选| 1024国产精品| 免费一级欧美片在线观看| 国产成人超碰人人澡人人澡| 在线免费观看日本欧美| 91精品国产综合久久久久久久久久| 久久亚洲精精品中文字幕早川悠里| 国产无人区一区二区三区| 亚洲精品国产a久久久久久| 久久97超碰色| 色综合久久久久| 久久综合九色综合欧美就去吻| 自拍偷自拍亚洲精品播放| 久久成人麻豆午夜电影| 91成人看片片| 国产亚洲va综合人人澡精品| 亚洲综合免费观看高清在线观看| 久久不见久久见中文字幕免费| av一区二区不卡| 久久中文字幕电影| 丝瓜av网站精品一区二区| 97成人超碰视| 久久久久久影视| 日韩成人一区二区三区在线观看|