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

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

?? 39vf160.c

?? 39VF160.c Flash的源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/***********************************************************************/
//Check_SST_39VF160       Check manufacturer and device ID
//CFI_Query               CFI Query Entry/Exit command sequence
//Erase_Entire_Chip       Erase the contents of the entire chip
//Erase_One_Sector        Erase a sector of 2048 word
//Erase_One_Block         Erase a block of 32K word
//Program_One_Word        Alter data in one word
//Program_One_Sector      Alter data in 2048 word sector
//Program_One_Block       Alter data in 32K word block
//Check_Toggle_Ready      End of internal program or erase detection using
//                        Toggle bit
//Check_Data_Polling      End of internal program or erase detection using
//                        Data# polling


//"C" LANGUAGE DRIVERS

/***********************************************************************/
/* Copyright Silicon Storage Technology, Inc. (SST), 1994-2001         */
/* Example "C" language Driver of 39VF160 16 Mbit Multi-Purpose Flash  */
/* Nelson Wang, Silicon Storage Technology, Inc.                       */
/*                                                                     */
/* Revision 1.0, Sept. 12, 2001                                          */
/*                                                                     */
/* This file requires these external "timing"  routines:               */
/*                                                                     */
/*      1.)  Delay_150_Nano_Seconds                                    */
/*      2.)  Delay_25_Milli_Seconds                                    */
/*      3.)  Delay_100_Milli_Seconds                                   */
/***********************************************************************/

#define FALSE                   0
#define TRUE                    1

#define SECTOR_SIZE             2048    /* Must be 2048 words for 39VF160 */
#define BLOCK_SIZE              32768   /* Must be 32K words for 39VF160  */

#define SST_ID                  0xBF    /* SST Manufacturer's ID code   */
#define SST_39VF160             0x2782  /* SST 39VF160 device code      */

typedef unsigned char           BYTE;
typedef unsigned int            WORD;

/* -------------------------------------------------------------------- */
/*                       EXTERNAL ROUTINES                              */
/* -------------------------------------------------------------------- */

extern void     Delay_150_Nano_Seconds();
extern void     Delay_25_Milli_Seconds();
extern void     Delay_100_Milli_Seconds();


*************************************************************************/
/* PROCEDURE:   Check_SST_39VF160                                       */
/*                                                                      */
/* This procedure decides whether a physical hardware device has a      */
/* SST39VF160 16 Mbit Multi-Purpose Flash installed or not.             */
/*                                                                      */
/* Input:                                                               */
/*          None                                                        */
/*                                                                      */
/* Output:                                                              */
/*          return TRUE:  indicates a SST39VF160                        */
/*          return FALSE: indicates not a SST39VF160                    */
/************************************************************************/

int Check_SST_39VF160()
{
        WORD far *Temp;
        WORD SST_id1;
        WORD far *Temp1;
        WORD SST_id2;
        int  ReturnStatus;

        /*  Issue the Software Product ID code to 39VF160   */

        Temp1 = (WORD far *)0xC0005555; /* set up address to be C000:5555h  */
        *Temp1= 0xAAAA;                 /* write data 0xAAAA to the address */
        Temp1 = (WORD far *)0xC0002AAA; /* set up address to be C000:2AAAh  */
        *Temp1= 0x5555;                 /* write data 0x5555 to the address */
        Temp1 = (WORD far *)0xC0005555; /* set up address to be C000:5555h  */
        *Temp1= 0x9090;                 /* write data 0x9090 to the address */

        Delay_150_Nano_Seconds();

        /* Read the product ID from 39VF160 */

        Temp  = (WORD far *)0xC0000000; /* set up address to be C000:0000h */
        SST_id1  =  *Temp;              /* get first ID word               */
        SST_id1  =  SST_id1 & 0xFF      /* mask of higher byte             */
        Temp1 = (WORD far *)0xC0000001;/* set up address to be C000:0001h  */
        SST_id2  =  *Temp1;             /* get second ID word              */

        /* Determine whether there is a SST39VF160 installed or not */

        if ((SST_id1 == SST_ID) && (SST_id2 ==SST_39VF160))
                ReturnStatus = TRUE;
        else
                ReturnStatus = FALSE;

        /* Issue the Soffware Product ID Exit code thus returning the 39VF160 */
        /* to the read operating mode                                         */

        Temp1  = (WORD far *)0xC0005555; /* set up address to be C000:5555h   */
        *Temp1 = 0xAAAA;                 /* write data 0xAAAA to the address  */
        Temp1  = (WORD far *)0xC0002AAA; /* set up address to be C000:2AAAh   */
        *Temp1 = 0x5555;                 /* write data 0x5555 to the address  */
        Temp1  = (WORD far *)0xC0005555; /* set up address to be C000:5555h   */
        *Temp1 = 0xF0F0;                 /* write data 0xF0F0 to the address  */

        Delay_150_Nano_Seconds();

        return(ReturnStatus);
}

*************************************************************************/
/* PROCEDURE:   CFI_Query                                               */
/*                                                                      */
/* This procedure should be used to query for CFI information           */
/*                                                                      */
/* Input:                                                               */
/*          None                                                        */
/*                                                                      */
/* Output:                                                              */
/*          None                                                        */
/************************************************************************/

int CFI_Query()
{
        WORD far *Temp1;

        /*  Issue the Software Product ID code to 39VF160   */

        Temp1 = (WORD far *)0xC0005555; /* set up address to be C000:5555h    */
        *Temp1= 0xAAAA;                 /* write data 0xAAAA to the address   */
        Temp1 = (WORD far *)0xC0002AAA; /* set up address to be C000:2AAAh    */
        *Temp1= 0x5555;                 /* write data 0x5555 to the address   */
        Temp1 = (WORD far *)0xC0005555; /* set up address to be C000:5555h    */
        *Temp1= 0x9898;                 /* write data 0x9898 to the address   */

        Delay_150_Nano_Seconds();

        /* --------------------------------- */
        /*  Perform all CFI operations here  */
        /*  NOTE:  no sample code provided   */
        /* --------------------------------- */


        /* Issue the CFI Exit code thus returning the 39VF160  */
        /* to the read operating mode                          */

        Temp1  = (WORD far *)0xC0005555; /* set up address to be C000:5555h    */
        *Temp1 = 0xAAAA;                 /* write data 0xAAAA to the address   */
        Temp1  = (WORD far *)0xC0002AAA; /* set up address to be C000:2AAAh    */
        *Temp1 = 0x5555;                 /* write data 0x5555 to the address   */
        Temp1  = (WORD far *)0xC0005555; /* set up address to be C000:5555h    */
        *Temp1 = 0xF0F0;                 /* write data 0xF0F0 to the address   */

        Delay_150_Nano_Seconds();
}


*************************************************************************/
/* PROCEDURE:   Erase_Entire_Chip                                       */
/* 整片的Flash擦除                                                                      */
/* This procedure can be used to erase the entire chip.                 */
/*                                                                      */
/* Input:                                                               */
/*      NONE                                                            */
/*                                                                      */
/* Output:                                                              */
/*      NONE                                                            */
/************************************************************************/

int Erase_Entire_Chip 
{
        WORD far *Temp;

        /*  Issue the Chip Erase command to 39VF160  */

        Temp  = (WORD far *)0xC0005555; /* set up address to be C000:5555h  */
        *Temp = 0xAAAA;                 /* write data 0xAAAA to the address */
        Temp  = (WORD far *)0xC0002AAA; /* set up address to be C000:2AAAh  */
        *Temp = 0x5555;                 /* write data 0x5555 to the address */
        Temp  = (WORD far *)0xC0005555; /* set up address to be C000:5555h  */
        *Temp = 0x8080;                 /* write data 0x8080 to the address */
        Temp  = (WORD far *)0xC0005555; /* set up address to be C000:5555h  */
        *Temp = 0xAAAA;                 /* write data 0xAAAA to the address */
        Temp  = (WORD far *)0xC0002AAA; /* set up address to be C000:2AAAh  */
        *Temp = 0x5555;                 /* write data 0x5555 to the address */
        Temp  = (WORD far *)0xC0005555; /* set up address to be C000:5555h  */
        *Temp = 0x1010;                 /* write data 0x1010 to the address */
        Delay_100_Milli_Seconds();      /* Delay Tsce time                  */
}

*************************************************************************/
/* PROCEDURE:   Erase_One_Sector                                        */
/*                                                                      */
/* This procedure can be used to erase a total of 2048 words.           */
/*                                                                      */
/* Input:                                                               */
/*      Dst     DESTINATION address which the erase operation starts    */
/*                                                                      */
/* Output:                                                              */
/*      NONE                                                            */
/************************************************************************/

int Erase_One_Sector (WORD far *Dst)
{
        WORD far *Temp;

        /*  Issue the Sector Erase command to 39VF160  */

        Temp  = (WORD far *)0xC0005555; /* set up address to be C000:5555h  */
        *Temp = 0xAAAA;                 /* write data 0xAAAA to the address */
        Temp  = (WORD far *)0xC0002AAA; /* set up address to be C000:2AAAh  */
        *Temp = 0x5555;                 /* write data 0x5555 to the address */
        Temp  = (WORD far *)0xC0005555; /* set up address to be C000:5555h  */
        *Temp = 0x8080;                 /* write data 0x8080 to the address */
        Temp  = (WORD far *)0xC0005555; /* set up address to be C000:5555h  */
        *Temp = 0xAAAA;                 /* write data 0xAAAA to the address */
        Temp  = (WORD far *)0xC0002AAA; /* set up address to be C000:2AAAh  */
        *Temp = 0x5555;                 /* write data 0x5555 to the address */

        Temp  = Dst                     /* set up starting address to be erased */
        *Temp = 0x3030;                 /* write data 0x3030 to the address */
        Delay_25_Milli_Seconds();       /* Delay time = Tse                 */
}


*************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品色在线观看| 99国产精品久| 欧美日韩国产欧美日美国产精品| eeuss鲁一区二区三区| 欧美在线视频全部完| 亚洲欧洲99久久| 成人精品gif动图一区| 久久久久久**毛片大全| 久久精品国产第一区二区三区| 欧美精品三级日韩久久| 亚洲男人都懂的| 不卡电影一区二区三区| 亚洲欧美自拍偷拍色图| 99久久精品国产精品久久| 久久精品人人爽人人爽| 国产一区二区三区免费看 | 国产女同性恋一区二区| 国产成人自拍网| 久久精品视频免费观看| 日本一不卡视频| 日韩视频123| 精品一区二区三区蜜桃| 亚洲精品在线网站| 国产成人免费在线观看不卡| 欧美丰满一区二区免费视频| 石原莉奈一区二区三区在线观看 | 精久久久久久久久久久| 精品国产乱码久久久久久图片| 极品美女销魂一区二区三区| 久久久久九九视频| 成人av片在线观看| 亚洲免费av高清| 欧美精品色综合| 国产真实乱子伦精品视频| 国产免费久久精品| 91视频观看视频| 日韩激情在线观看| 久久久久久久综合色一本| 成人国产精品免费观看动漫| 亚洲免费观看在线观看| 91精品国产综合久久蜜臀| 老色鬼精品视频在线观看播放| 久久久久久久综合日本| 91论坛在线播放| 日韩av不卡在线观看| 国产欧美一区二区三区网站| 日本精品视频一区二区三区| 免费看欧美美女黄的网站| 国产日韩成人精品| 欧美日韩久久不卡| 国产激情视频一区二区在线观看| 国产欧美一区二区精品性色超碰 | 成人激情免费网站| 亚洲一区自拍偷拍| 久久综合精品国产一区二区三区| 成人h版在线观看| 日韩精品成人一区二区三区| 欧美国产亚洲另类动漫| 欧美日韩一区二区三区在线看| 国产一区二区福利| 亚洲国产一二三| 久久久.com| 欧美蜜桃一区二区三区| 成人久久18免费网站麻豆| 日本中文字幕不卡| 亚洲免费大片在线观看| 久久亚区不卡日本| 欧美猛男超大videosgay| 东方欧美亚洲色图在线| 日本一道高清亚洲日美韩| 中文字幕一区av| 亚洲精品一区在线观看| 在线视频一区二区三| 蜜臀av性久久久久蜜臀aⅴ流畅 | 99久久综合国产精品| 久久激情综合网| 亚洲一区二区av在线| 国产精品毛片大码女人| 欧美v国产在线一区二区三区| 欧美性videosxxxxx| a级高清视频欧美日韩| 免费在线观看视频一区| 一区二区三区在线免费播放| 精品国产成人系列| 欧美一级国产精品| 欧美猛男男办公室激情| 在线观看国产日韩| 色中色一区二区| 成人黄色av电影| 在线观看www91| 91在线播放网址| www.亚洲色图.com| 成人激情文学综合网| 风流少妇一区二区| 秋霞午夜鲁丝一区二区老狼| 一区二区三区欧美日| 国产日韩三级在线| 国产欧美一区二区三区沐欲| 精品久久人人做人人爱| 精品欧美乱码久久久久久| 欧美一区二区二区| 日韩一卡二卡三卡国产欧美| 91精品国产色综合久久ai换脸 | 亚洲一区二区三区三| 亚洲色图欧美激情| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产三级精品在线| 国产人妖乱国产精品人妖| 国产欧美精品国产国产专区| 日本一区二区三区四区| 久久久99精品免费观看不卡| 欧美国产日韩a欧美在线观看| 日本一区二区综合亚洲| 国产精品久久久久久久浪潮网站| 国产精品久久久久影视| 亚洲久草在线视频| 亚洲国产精品久久不卡毛片| 樱花草国产18久久久久| 亚洲自拍偷拍图区| 日本不卡视频一二三区| 美女被吸乳得到大胸91| 国产一区二区三区四区五区美女| 粉嫩aⅴ一区二区三区四区| av中文字幕不卡| 欧美色老头old∨ideo| 欧美日本一区二区三区四区| 欧美人与z0zoxxxx视频| 欧美va亚洲va| 中文字幕一区二区在线播放| 樱花草国产18久久久久| 蜜桃av一区二区| 国产99久久久国产精品潘金 | 国产在线国偷精品免费看| 蜜臀91精品一区二区三区| 高潮精品一区videoshd| 欧美综合久久久| 26uuu亚洲综合色| 日韩一区欧美一区| 日本在线不卡视频| 福利电影一区二区三区| av一区二区三区| 4438x亚洲最大成人网| 欧美激情在线免费观看| 亚洲国产一区二区三区青草影视| 精品一区二区在线看| 成人av资源在线观看| 欧美日韩在线三区| 欧美tk—视频vk| 亚洲黄色录像片| 久草在线在线精品观看| 91在线小视频| 欧美sm美女调教| 亚洲激情中文1区| 国产麻豆视频一区二区| 91丨porny丨在线| 欧美电影免费观看高清完整版在线 | 欧美体内she精高潮| 国产精品久久久久三级| 国产精品77777竹菊影视小说| 欧美一区二区免费视频| 亚洲va欧美va国产va天堂影院| 91在线观看下载| 国产精品久久久久影院亚瑟| 国产suv精品一区二区三区| 久久亚洲精品国产精品紫薇| 久久99精品国产| 欧美大片一区二区| 久久精工是国产品牌吗| 日韩你懂的电影在线观看| 日韩中文欧美在线| 337p亚洲精品色噜噜狠狠| 五月开心婷婷久久| 欧美日韩精品一区二区三区| 亚洲一区二区欧美| 欧美日韩性生活| 日韩精品电影一区亚洲| 欧美一级日韩一级| 九九国产精品视频| 精品国产一二三| 国产露脸91国语对白| 日本一区二区免费在线观看视频 | 亚洲国产视频网站| 欧美日韩三级一区二区| 性做久久久久久免费观看| 欧美精品久久一区二区三区| 日韩国产精品久久| 日韩一级大片在线| 国产综合色产在线精品| 国产日产欧美一区| 91在线视频18| 午夜久久久影院| 日韩精品一区二区三区视频| 国内精品国产成人| 国产精品伦一区| 在线欧美日韩精品| 麻豆91在线播放免费| 久久精品亚洲精品国产欧美kt∨ | 国产精品久久午夜| 欧美性做爰猛烈叫床潮| 免费在线成人网|