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

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

?? sst39vf160x.txt

?? SST 系列Nor flash 的讀寫源碼
?? TXT
?? 第 1 頁 / 共 3 頁
字號:
    *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 39VF160X
        // 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 39VF160X
	*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 39VF160X
	*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 39VF160X
	*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        */
/* 39VF160X.                                                            */
/*                                                                      */
/* 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 39VF160X     */
/*           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 SST39VF160X.                                                  */
/*                                                                      */
/* 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 39VF160X                            */
/*           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 SST39VF160X.                                                  */
/*                                                                      */
/* 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 39VF160X                            */
/*           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;

        if (!ReturnStatus)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲色图色小说| 久久久久久久久99精品| 麻豆国产精品777777在线| 中文在线资源观看网站视频免费不卡| 色偷偷一区二区三区| 久久爱另类一区二区小说| 中文字幕在线免费不卡| 日韩久久久精品| 日本福利一区二区| 国产成人av网站| 蜜桃视频一区二区三区| 伊人婷婷欧美激情| 日本一区二区在线不卡| 日韩午夜激情免费电影| 91老师国产黑色丝袜在线| 国产河南妇女毛片精品久久久 | 国产无一区二区| 欧美一区二区三区日韩| 色婷婷一区二区三区四区| 成人免费视频网站在线观看| 精品一区二区三区免费观看| 亚洲成人在线免费| 一区二区三区四区国产精品| 欧美国产综合色视频| 久久日韩精品一区二区五区| 555www色欧美视频| 欧美性高清videossexo| 不卡一区在线观看| 豆国产96在线|亚洲| 国产传媒一区在线| 国产一区二三区| 久久国产精品第一页| 日本少妇一区二区| 亚洲韩国一区二区三区| 亚洲女爱视频在线| 亚洲男人的天堂在线观看| 国产精品视频第一区| 国产欧美日韩精品一区| 国产视频一区二区在线观看| 久久婷婷国产综合国色天香| 久久综合一区二区| 久久精品欧美一区二区三区麻豆| 日韩精品一区二区三区在线观看 | 99v久久综合狠狠综合久久| 成人免费毛片嘿嘿连载视频| 国产宾馆实践打屁股91| 成人av网址在线观看| 成人av电影在线网| 色哟哟日韩精品| 在线观看免费亚洲| 欧美日韩一区视频| 在线电影一区二区三区| 欧美成人一区二区三区片免费| 日韩午夜在线观看| 久久久久久久久久久久久夜| 国产欧美一区二区三区在线看蜜臀 | 一区二区三区在线观看动漫| 一区二区三区在线观看网站| 亚洲电影激情视频网站| 日本午夜精品视频在线观看| 韩国在线一区二区| 高清国产一区二区| 色视频成人在线观看免| 69堂精品视频| 欧美sm极限捆绑bd| 欧美极品少妇xxxxⅹ高跟鞋| 18成人在线观看| 亚洲国产成人精品视频| 久久精品国产精品青草| 成人在线视频一区| 欧美视频一区二区三区在线观看| 日韩一区二区三区免费看| 国产欧美日韩综合精品一区二区 | 国产精品美女久久久久久久久| 亚洲另类中文字| 免费成人在线网站| 大陆成人av片| 欧美性videosxxxxx| 91精品午夜视频| 欧美激情中文字幕一区二区| 亚洲精品国久久99热| 日本午夜一本久久久综合| 风间由美一区二区三区在线观看| 欧美性受xxxx| 久久久久88色偷偷免费| 亚洲精品乱码久久久久久久久| 秋霞午夜av一区二区三区| 99免费精品在线| 欧美一二三区在线| 日韩久久一区二区| 青青草伊人久久| 色嗨嗨av一区二区三区| 精品国产91洋老外米糕| 一区二区三区蜜桃网| 国产最新精品免费| 欧美日韩国产成人在线免费| 国产色综合一区| 日韩av一区二| 色av成人天堂桃色av| 久久亚洲综合av| 亚洲综合免费观看高清在线观看| 国产福利一区二区三区视频| 欧美人与性动xxxx| 日韩一区日韩二区| 国产精品一区不卡| 4438x亚洲最大成人网| 亚洲精品精品亚洲| 成人h动漫精品一区二区| 日韩欧美国产1| 亚洲第一主播视频| 一本久久a久久免费精品不卡| 精品国精品自拍自在线| 石原莉奈在线亚洲三区| 日本电影欧美片| 国产欧美一区二区精品婷婷| 久久福利视频一区二区| 欧美日韩高清一区二区| 亚洲免费av网站| 成人高清视频在线观看| 国产视频一区在线播放| 国产一区二区剧情av在线| 欧美一区二区久久久| 亚洲一区免费视频| 欧美性受极品xxxx喷水| 一区二区在线观看视频在线观看| 成a人片国产精品| 国产精品污网站| 国产成人综合在线播放| 久久精品亚洲精品国产欧美kt∨| 久久国产成人午夜av影院| 日韩写真欧美这视频| 热久久久久久久| 日韩三级.com| 麻豆国产欧美日韩综合精品二区| 日韩一级片网址| 日本午夜一区二区| 精品少妇一区二区三区在线视频| 日韩和欧美一区二区三区| 欧美日韩高清一区二区| 亚洲6080在线| 5858s免费视频成人| 日本成人中文字幕| 日韩视频永久免费| 精品一区二区综合| 亚洲精品一区二区精华| 国产精一区二区三区| 国产精品欧美久久久久无广告| 成人动漫一区二区| 亚洲精品日韩综合观看成人91| 欧美系列日韩一区| 免费三级欧美电影| 久久久久国产一区二区三区四区 | 91在线你懂得| 亚洲午夜视频在线观看| 欧美精品亚洲二区| 国产一区二区三区精品视频| 国产亲近乱来精品视频| 99精品国产视频| 午夜一区二区三区在线观看| 日韩一区二区精品葵司在线| 国产美女主播视频一区| 日韩精品免费专区| 精品久久久三级丝袜| 东方aⅴ免费观看久久av| 1024精品合集| 欧美剧情片在线观看| 国产综合一区二区| 中文字幕不卡在线观看| 国产很黄免费观看久久| 国产精品―色哟哟| 国产一区二区三区香蕉| 亚洲免费视频中文字幕| 欧美视频在线一区| 日本成人在线网站| 国产三级欧美三级日产三级99| 国产成人精品aa毛片| 中文字幕一区二区三区四区| 欧美日韩大陆在线| 国产在线视频不卡二| 中文字幕在线观看不卡| 成人av网站在线观看| 亚洲国产精品视频| 日韩久久免费av| 成人黄色免费短视频| 亚洲午夜成aⅴ人片| 日韩欧美成人一区| 丁香婷婷综合五月| 亚洲综合清纯丝袜自拍| 国产拍揄自揄精品视频麻豆| 91国偷自产一区二区开放时间| 日韩高清在线观看| 亚洲欧美日韩国产成人精品影院 | 欧美一区三区四区| 国产高清不卡一区| 日韩国产精品久久久| 国产欧美一区二区三区鸳鸯浴| 欧美怡红院视频| 成人av在线影院| 日本欧美一区二区在线观看| 欧美国产一区二区|