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

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

?? sst39vf640x_driver.c

?? 單片機驅(qū)動SST公司16位Nor flash器件SST640X的源代碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
         //  Issue the SecID Entry code to 39VF640X    *sysAddress(0x5555) = 0x00AA;  // write data 0x00AA to device addr 0x5555    *sysAddress(0x2AAA) = 0x0055;  // write data 0x0055 to device addr 0x2AAA    *sysAddress(0x5555) = 0x0088;  // write data 0x0088 to device addr 0x5555    Delay_150_Nano_Seconds();      // insert delay time = Tida    	//  Perform all Security ID operations here:    	//  	SST programmed segment is from address 000000H--000007H,    	//  	User programmed segment is from address 000010H--000017H.    for (WORD index = 0x0000; index <= 0x0007; index++)    {    	 *SST_SecID = *sysAddress(index);         ++SST_SecID;         *User_SecID = *sysAddress(index+0x0010);         ++User_SecID;	// Security query data is stored in user-defined memory space.    }        // Issue the Sec ID Exit code thus returning the 39VF640X        // to the read operating mode    *sysAddress(0x5555) = 0x00AA;  // write data 0x00AA to device addr 0x5555    *sysAddress(0x2AAA) = 0x0055;  // write data 0x0055 to device addr 0x2AAA    *sysAddress(0x5555) = 0x00F0;  // write data 0x00F0 to device addr 0x5555    Delay_150_Nano_Seconds();      // insert delay time = Tida}/************************************************************************//* PROCEDURE:   Erase_One_Sector                                        *//*                                                                      *//* This procedure can be used to erase a total of 2048 words.           *//*                                                                      *//* Input:                                                               *//*      Dst     DESTINATION address where the erase operation starts    *//*                                                                      *//* Output:                                                              *//*          return TRUE:  indicates success in sector-erase             *//*          return FALSE: indicates failure in sector-erase             *//************************************************************************/int Erase_One_Sector(Uint32 Dst){	Uint32 DestBuf = Dst;   int  ReturnStatus;	//  Issue the Sector Erase command to 39VF640X	*sysAddress(0x5555) = 0x00AA;     // write data 0x00AA to device addr 0x5555	*sysAddress(0x2AAA) = 0x0055;     // write data 0x0055 to device addr 0x2AAA	*sysAddress(0x5555) = 0x0080;     // write data 0x0080 to device addr 0x5555	*sysAddress(0x5555) = 0x00AA;     // write data 0x00AA to device addr 0x5555	*sysAddress(0x2AAA) = 0x0055;     // write data 0x0055 to device addr 0x2AAA	*sysAddress(DestBuf) = 0x0030;    // write data 0x0030 to device sector addr   ReturnStatus = Check_Toggle_Ready(DestBuf);	// wait for TOGGLE bit ready   return ReturnStatus;}/************************************************************************//* PROCEDURE:   Erase_One_Block                                         *//*                                                                      *//* This procedure can be used to erase a total of 32K words.            *//*                                                                      *//* Input:                                                               *//*      Dst     DESTINATION address where the erase operation starts    *//*                                                                      *//* Output:                                                              *//*          return TRUE:  indicates success in block-erase              *//*          return FALSE: indicates failure in block-erase              *//************************************************************************/int Erase_One_Block (Uint32 Dst){   Uint32 DestBuf = Dst;   int ReturnStatus;    //  Issue the Block Erase command to 39VF640X	*sysAddress(0x5555) = 0x00AA;     // write data 0x00AA to device addr 0x5555	*sysAddress(0x2AAA) = 0x0055;     // write data 0x0055 to device addr 0x2AAA	*sysAddress(0x5555) = 0x0080;     // write data 0x0080 to device addr 0x5555	*sysAddress(0x5555) = 0x00AA;     // write data 0x00AA to device addr 0x5555	*sysAddress(0x2AAA) = 0x0055;     // write data 0x0055 to device addr 0x2AAA	*sysAddress(DestBuf) = 0x0050;    // write data 0x0050 to device sector addr   ReturnStatus = Check_Toggle_Ready(DestBuf);	  	// wait for TOGGLE bit ready   return ReturnStatus;}/************************************************************************//* PROCEDURE:   Erase_Entire_Chip                                       *//*                                                                      *//* This procedure can be used to erase the entire chip.                 *//*                                                                      *//* Input:                                                               *//*      NONE                                                            *//*                                                                      *//* Output:                                                              *//*      NONE                                                            *//************************************************************************/void Erase_Entire_Chip(void){   //  Issue the Chip Erase command to 39VF640X	*sysAddress(0x5555) = 0x00AA;     // write data 0x00AA to device addr 0x5555	*sysAddress(0x2AAA) = 0x0055;     // write data 0x0055 to device addr 0x2AAA	*sysAddress(0x5555) = 0x0080;     // write data 0x0080 to device addr 0x5555	*sysAddress(0x5555) = 0x00AA;     // write data 0x00AA to device addr 0x5555	*sysAddress(0x2AAA) = 0x0055;     // write data 0x0055 to device addr 0x2AAA	*sysAddress(0x5555) = 0x0010;     // write data 0x0010 to device addr 0x5555   Delay_50_Milli_Seconds();       	// Delay Tsce time}/************************************************************************//* PROCEDURE:   Program_One_Word                                        *//*                                                                      *//* This procedure can be used to program ONE word of data to the        *//* 39VF640X.                                                            *//*                                                                      *//* NOTE:  It is necessary to first erase the sector containing the      *//*        word to be programmed.                                	*//*                                                                      *//* Input:                                                               *//*           SrcWord The WORD which will be written to the 39VF640X     *//*           Dst     DESTINATION address which will be written with the *//*                   data passed in from Src                            *//*                                                                      *//* Output:                                                              *//*          return TRUE:  indicates success in word-program             *//*          return FALSE: indicates failure in word-program             *//************************************************************************/int Program_One_Word (WORD *SrcWord,   Uint32 Dst){    Uint32 DestBuf = Dst;    WORD *SourceBuf = SrcWord;    int ReturnStatus;    *sysAddress(0x5555) = 0x00AA; // write data 0x00AA to device addr 0x5555    *sysAddress(0x2AAA) = 0x0055; // write data 0x0055 to device addr 0x2AAA    *sysAddress(0x5555) = 0x00A0; // write data 0x00A0 to device addr 0x5555    *sysAddress(DestBuf) = *SourceBuf; // transfer the WORD to destination    ReturnStatus = Check_Toggle_Ready(DestBuf); // wait for TOGGLE bit ready    return ReturnStatus;}/************************************************************************//* PROCEDURE:   Program_One_Sector                                      *//*                                                                      *//* This procedure can be used to program a total of 2048 words of data  *//* to the SST39VF640X.                                                  *//*                                                                      *//* NOTES: 1. It is necessary to first erase the sector before the	*//*        programming.                                			*//*        2. This sample code assumes the destination address passed	*//*        from the calling function is the starting address of the	*//*        sector.							*//*                                                                      *//* Input:                                                               *//*           Src     SOURCE address containing the data which will be   *//*                   written to the 39VF640X                            *//*           Dst     DESTINATION address which will be written with the *//*                   data passed in from Src                            *//*                                                                      *//* Output:                                                              *//*          return TRUE:  indicates success in sector-program           *//*          return FALSE: indicates failure in sector-program           *//************************************************************************/int Program_One_Sector (WORD *Src, Uint32 Dst){    WORD *SourceBuf;    Uint32 DestBuf;    int Index, ReturnStatus;    SourceBuf = Src;    DestBuf = Dst;    ReturnStatus = Erase_One_Sector(DestBuf);	// erase the sector first    if (!ReturnStatus)    	return ReturnStatus;    for (Index = 0; Index < SECTOR_SIZE; Index++)    { 	// transfer data from source to destination	ReturnStatus = Program_One_Word( SourceBuf, DestBuf);	++DestBuf;	++SourceBuf;        if (!ReturnStatus)    	   return ReturnStatus;    }    return ReturnStatus;}/************************************************************************//* PROCEDURE:   Program_One_Block                                       *//*                                                                      *//* This procedure can be used to program a total of 32k words of data   *//* to the SST39VF640X.                                                  *//*                                                                      *//* NOTES: 1. It is necessary to first erase the block before the	*//*        programming.                                			*//*        2. This sample code assumes the destination address passed	*//*        from the calling function is the starting address of the	*//*        block.							*//*									*//* Input:                                                               *//*           Src     SOURCE address containing the data which will be   *//*                   written to the 39VF640X                            *//*           Dst     DESTINATION address which will be written with the *//*                   data passed in from Src                            *//*                                                                      *//* Output:                                                              *//*          return TRUE:  indicates success in block-program            *//*          return FALSE: indicates failure in block-program            *//************************************************************************/int Program_One_Block (WORD *Src, Uint32 Dst){    WORD *SourceBuf;    Uint32 DestBuf;    int Index, ReturnStatus;    SourceBuf = Src;    DestBuf = Dst;    ReturnStatus = Erase_One_Block(DestBuf);	// erase the block first    if (!ReturnStatus)    	return ReturnStatus;    for (Index = 0; Index < BLOCK_SIZE; Index++)    { 	// transfer data from source to destination	ReturnStatus = Program_One_Word( SourceBuf, DestBuf);	++DestBuf;	++SourceBuf;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩激情一区二区三区| 中文无字幕一区二区三区| 精品国产123| 综合网在线视频| 久久电影网站中文字幕| 成人avav影音| ww久久中文字幕| 亚洲午夜久久久久久久久电影院 | 精品国产一区a| 国产精品福利电影一区二区三区四区| 日韩有码一区二区三区| 91看片淫黄大片一级| 久久久另类综合| 日韩电影在线一区二区| 一本色道久久综合精品竹菊| 国产婷婷色一区二区三区四区| 午夜欧美在线一二页| 91在线国内视频| 欧美国产日韩亚洲一区| 久热成人在线视频| 日韩一级欧美一级| 五月激情综合色| 欧美伊人精品成人久久综合97 | 91精品国产综合久久蜜臀| 国产精品欧美一级免费| 国产在线不卡视频| 欧美大片一区二区| 蜜桃视频免费观看一区| 欧美久久一二区| 午夜不卡av免费| 欧美伊人精品成人久久综合97| 亚洲欧洲色图综合| 99久精品国产| 亚洲免费av观看| 日本福利一区二区| 一区二区三区蜜桃| 91国偷自产一区二区开放时间| 日韩一区在线免费观看| 97国产一区二区| 成人欧美一区二区三区白人| 91丨porny丨首页| 亚洲在线视频一区| 欧美日韩国产综合久久| 婷婷成人激情在线网| 欧美一区二区三区思思人| 奇米777欧美一区二区| 欧美一级高清大全免费观看| 韩国三级在线一区| 国产精品午夜免费| 日本韩国欧美在线| 午夜免费欧美电影| www成人在线观看| 成人午夜激情片| 亚洲精品一卡二卡| 欧美日韩高清在线播放| 美女视频免费一区| 国产精品视频在线看| 日本乱人伦一区| 久久不见久久见中文字幕免费| 久久日韩粉嫩一区二区三区| 成人ar影院免费观看视频| 亚洲一区二区三区四区五区黄| 欧美一区二区三区视频免费播放 | 日韩欧美色综合| 成人少妇影院yyyy| 亚洲一区在线观看免费 | 91免费视频观看| 水蜜桃久久夜色精品一区的特点 | 欧美日本视频在线| 激情欧美日韩一区二区| 中文字幕一区二区三区四区| 欧美三级在线看| 国产精品综合二区| 一区二区三区 在线观看视频| 精品免费视频一区二区| 91女厕偷拍女厕偷拍高清| 久久99九九99精品| 亚洲色图.com| 国产亚洲一本大道中文在线| 91高清在线观看| 国产乱理伦片在线观看夜一区| 一区二区三区美女| 久久久久一区二区三区四区| 欧美男男青年gay1069videost | 秋霞av亚洲一区二区三| 国产精品亲子伦对白| 91精品国产综合久久久久久| 成人免费av网站| 蜜臀av性久久久久av蜜臀妖精| 椎名由奈av一区二区三区| 日韩精品在线一区二区| 欧美在线视频你懂得| 粉嫩嫩av羞羞动漫久久久| 日韩电影在线观看一区| 亚洲欧美另类在线| 国产欧美综合在线| 日韩一区二区三区四区五区六区 | 日韩无一区二区| 91官网在线观看| 99视频热这里只有精品免费| 国内精品国产三级国产a久久| 三级一区在线视频先锋| 一区二区三区四区高清精品免费观看 | 欧美精品在线视频| 日本久久精品电影| 91在线视频网址| 99re在线视频这里只有精品| 国产一区二区在线电影| 麻豆视频一区二区| 久88久久88久久久| 美女任你摸久久| 美女视频网站久久| 精彩视频一区二区三区| 蓝色福利精品导航| 久久 天天综合| 国产精品一区在线| 国产v日产∨综合v精品视频| 韩国三级电影一区二区| 国产精品一线二线三线精华| 国产精品一区专区| 国产99一区视频免费| 国产精品一区二区男女羞羞无遮挡 | 亚洲成av人片在www色猫咪| 亚洲自拍偷拍av| 日韩—二三区免费观看av| 美女网站在线免费欧美精品| 蜜乳av一区二区| 狠狠色狠狠色综合系列| 国产剧情一区二区| 99re这里都是精品| 精品视频1区2区| 日韩亚洲欧美一区二区三区| 久久婷婷色综合| 国产精品激情偷乱一区二区∴| 亚洲精品欧美激情| 天天色综合成人网| 国产精品888| 在线亚洲人成电影网站色www| 欧美丝袜丝交足nylons图片| 538prom精品视频线放| 精品免费国产一区二区三区四区| 久久蜜桃av一区精品变态类天堂| 中文字幕中文字幕中文字幕亚洲无线| 一区二区三区高清| 免费在线一区观看| 粉嫩在线一区二区三区视频| 91理论电影在线观看| 欧美乱妇23p| 欧美国产精品中文字幕| 一区二区三区在线视频观看58| 蜜桃视频在线观看一区二区| 成人教育av在线| 91精品国产麻豆国产自产在线| 久久综合九色综合欧美98| 亚洲欧美日韩国产一区二区三区 | 伊人一区二区三区| 蜜桃av一区二区三区电影| 成人午夜私人影院| 91精品国产色综合久久ai换脸| 国产婷婷精品av在线| 天涯成人国产亚洲精品一区av| 成人午夜激情视频| 欧美一区二区三区播放老司机| 国产精品视频yy9299一区| 首页国产丝袜综合| 91亚洲永久精品| 久久蜜桃香蕉精品一区二区三区| 亚洲午夜精品17c| 丁香一区二区三区| 欧美大片在线观看一区二区| 樱花影视一区二区| 成人午夜视频在线观看| 亚洲精品在线电影| 婷婷国产在线综合| 日本道精品一区二区三区| 国产色综合一区| 青草av.久久免费一区| 色94色欧美sute亚洲线路一久 | 丁香婷婷综合激情五月色| 欧美系列一区二区| 日韩久久一区二区| 国产91精品精华液一区二区三区 | 国产一区二区电影| 日韩欧美在线123| 亚洲影视在线播放| 99久久精品99国产精品| 久久久亚洲高清| 精品制服美女丁香| 制服丝袜在线91| 亚洲成在人线免费| 欧美怡红院视频| 亚洲最大的成人av| 在线一区二区三区| 亚洲一区在线观看免费观看电影高清| 成人国产精品免费观看视频| 国产视频一区二区在线观看| 国产精品77777竹菊影视小说| 久久久蜜桃精品| 国产精品一区二区不卡| 久久久久99精品一区|