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

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

?? flash.c

?? ads1.2的一個工程
?? C
字號:
#include <stdio.h>#include <stdlib.h>#include <string.h>#include "..\inc\drv\flash.h"#include "..\startup\44b.h"#include "..\inc\def.h"extern void __RdPage528(U8 *);	/*these two function are writed in ASM*/extern void __WrPage528(U8 *);U8 Verify_Buf[528];unsigned int Check_Flash_Id(void){	int i;	unsigned int id;	FC_CMD;	rKM29UXDATA = 0x90;	FC_ADDR;	rKM29UXDATA = 0;	FC_DATA;	for(i=0;i<10;i++);	//wait 100ns	id = rKM29UXDATA<<8;	id += rKM29UXDATA;	FC_INACTIVE;	return id;}void Flash_Reset()		//flash reset{ 	int i;	//  rPDATC = rPDATC | WP;	//write unprotect	FC_CMD;	rKM29UXDATA = 0xff;	//reset command	for (i=0;i<3000;i++);	//delay 	}/********************************************************//*功能:擦除FLASH的1Block(對應文件系統為1Cluster)          *//*     每一個簇為16KB,因此KM29U128共有1024個簇            *//*輸入:unsigned int cluster/block(需要擦除的Block Number)*//*返回:OK或FAIL                                         *//********************************************************/unsigned char Erase_Cluster(unsigned int cluster) {	unsigned int blockPage = (cluster<<5);	int i;	FC_CMD;	rKM29UXDATA = 0x60;	FC_ADDR;	     	rKM29UXDATA = blockPage & 0xff;  	rKM29UXDATA = (blockPage>>8) & 0xff;	for(i=0;i<2;i++);		//tWC  50ns    	FC_CMD;	rKM29UXDATA = 0xd0;    	for(i=0;i<3;i++);    	FC_DATA;	WAITRB;					//wait max 3ms	FC_CMD;	rKM29UXDATA = 0x70;	FC_DATA;	if (rKM29UXDATA & 0x1) //erase error	{		FC_INACTIVE;		return FAIL;	}	else 	{		FC_INACTIVE;   		return OK;	}}/********************************************************/int VerifyPage(unsigned int block,unsigned int page,U8 *buffer){	ReadPage(block,page,Verify_Buf);	if(strncmp((char *)Verify_Buf,(char *)buffer,528)==0)		return 1;	else		return 0;}/*****************************************************************//*功能:讀取FLASH的某個Block中的1page數據                           *//*     在文件系統中,有如下對應關系:Block=Cluster                   *//*                               Page =Sector                    *//*輸入:unsigned int block,page,unsigned char *pPage(存放數據的地址)*//*****************************************************************/void ReadPage(unsigned int block,unsigned int page,unsigned char *pPage){	int i;	unsigned int blockPage = (block<<5) + page;	FC_CMD;               	rKM29UXDATA = 0x00;	FC_ADDR;	rKM29UXDATA = 0;	rKM29UXDATA = blockPage & 0xff;	rKM29UXDATA = (blockPage>>8) & 0xff;	for(i=0;i<3;i++);	FC_DATA;	WAITRB;	//random access ,wait max. 10us 	__RdPage528(pPage);		//which is written with assemble in flash.s	FC_INACTIVE;}/*****************************************************************//*功能:向FLASH的某個Block中的1page寫入數據                         *//*     在文件系統中,有如下對應關系:Block=Cluster                   *//*                               Page =Sector                    *//*輸入:unsigned int block,page,unsigned char *pPage(存放數據的地址)*//*輸出:0:Fail;1:OK                                               *//*****************************************************************/int WritePage(unsigned int block,unsigned int page,unsigned char *pPage)  {	unsigned int blockPage = (block<<5) + page;	int i;	U8 *Source;                                      //the begin addr of data to write	Source=pPage;	FC_CMD;	rKM29UXDATA = 0x80;	FC_ADDR;	rKM29UXDATA = 0;	rKM29UXDATA = blockPage & 0xff;	rKM29UXDATA = (blockPage>>8) & 0xff;	FC_DATA;	for(i=0;i<528;i++)		{rKM29UXDATA=*pPage++;}         //data input->as the same as _WrPage528()	__WrPage528(pPage); //which is written with assemble in flash.s	FC_CMD;	rKM29UXDATA = 0x10;	for(i=0;i<10;i++);  //twb=100ns. why is it 10? spec is false?                          //No. It's because of LED of PE1.	WAITRB;	//wait max 500us;	rKM29UXDATA = 0x70;	FC_DATA;	for(i=0;i<3;i++);  //twhr=60ns	if((rKM29UXDATA & 0x1))	//			注銷掉的程序行有問題,會導致堆棧出錯!!!戎海峰	{		FC_INACTIVE;			return 0;	}	else	{		FC_INACTIVE;	    		#if (WRITEVERIFY==1)			return VerifyPage(block,page,pPage);			#else			return 1;		#endif	}}/*******************************************************************//*功能:顯示FLASH的數據                                              *//*     整個16MBFLASH空間的劃分如下:                                  *//*     Root:Cluster0                                               *//*     Application:Cluster1~1023                                   *//********************************************************************/void Flash_Tools(void){	unsigned char bbb[528];	unsigned int i,sector,cluster;	Flash_Reset();	if(Check_Flash_Id()==KM29U128_ID)	{		i = 0;		sector = 0;		cluster = 0;		Uart_Printf("\n*                     R(r)>>Point to Root zone(Cluster0)                *");		Uart_Printf("\n*                     A(a)>>Point to Application zone(Cluster1~1023)    *");		Uart_Printf("\n*                     C(c)>>Point to Next Cluster                       *");		Uart_Printf("\n*                     S(s)>>Point to Next Sector                        *");		Uart_Printf("\n*                     Q(q)>>Quit                                        *");		Uart_Printf("\n*-----------------------------------------------------------------------*");		Uart_Printf("\n*---------------------Boot Zone at Cluster %4d, Sector %2d--------------*",cluster,sector);		while(1)		{			char aa;				ReadPage(cluster,sector,&(bbb[0]));			Uart_Printf("\n*---------------------Cluster %4d, Sector %2d---------------------------*",cluster,sector);			for(i=0;i<528;i=i+16)			{				Uart_Printf("\nBYTE%4x:%4x%4x%4x%4x%4x%4x%4x%4x%4x%4x%4x%4x%4x%4x%4x%4x",\				i,bbb[i],bbb[i+1],bbb[i+2],bbb[i+3],bbb[i+4],bbb[i+5],bbb[i+6],bbb[i+7],\				bbb[i+8],bbb[i+9],bbb[i+10],bbb[i+11],bbb[i+12],bbb[i+13],bbb[i+14],bbb[i+15]);			}			sector++;			if (sector>=32)//goto next cluster			{				cluster++;				sector = 0;		   	}			aa = Uart_Getch();			if (aa == 'q' || aa=='Q') break;			switch(aa)			{			case 'r':			case 'R':				cluster = 0;				sector = 0;				Uart_Printf("\n*---------------------Root Zone at Cluster %4d, Sector %2d--------------*",cluster,sector);				break;			case 'a':			case 'A':				cluster = 1;				sector = 0;				Uart_Printf("\n*---------------------Application Zone at Cluster %4d, Sector %2d-------*",cluster,sector);				break;					case 'c':			case 'C':				cluster ++;				if (cluster>=1024) 					cluster = 0;				sector = 0;				Uart_Printf("\n*---------------------Cluster %4d, Sector %2d---------------------------*",cluster,sector);				break;			case 's':			case 'S':				sector++;				if (sector>=32) 				{					sector = 0;					cluster ++;					if (cluster>=1024) sector = 0;				}				Uart_Printf("\n*---------------------Cluster %4d, Sector %2d---------------------------*",cluster,sector);				break;								default:				break;			}		}	}	else	{			Uart_Printf("\n*                KM29U128T No Found.Please check your hardware!         *");			Uart_Printf("\n*-----------------------------------------------------------------------*");	}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区毛片| 亚洲亚洲精品在线观看| 欧美少妇xxx| 欧美日韩国产一级| 日韩欧美中文字幕制服| 久久九九影视网| 精品国产乱码久久久久久蜜臀| 日韩欧美一级二级三级| 国产片一区二区| 亚洲黄色av一区| 久久国产三级精品| 99久久精品情趣| 日韩欧美国产一区在线观看| 国产精品久久久久久久久久久免费看 | 国产成人小视频| 91免费精品国自产拍在线不卡| 91精品国产综合久久蜜臀| 国产精品无圣光一区二区| 最好看的中文字幕久久| 久久aⅴ国产欧美74aaa| 欧美特级限制片免费在线观看| 国产日本一区二区| 日本成人在线电影网| 欧美一a一片一级一片| 久久美女艺术照精彩视频福利播放| 亚洲一区二区三区四区在线| 一本大道av伊人久久综合| 欧美精品一区二区在线观看| 午夜精品视频在线观看| 色天使色偷偷av一区二区| 久久精品人人做人人爽人人| 日本aⅴ免费视频一区二区三区| 91在线国内视频| 久久九九国产精品| 老司机精品视频在线| 一本色道久久综合亚洲精品按摩 | 国产精品网站导航| 精品一区二区三区日韩| 欧美亚洲一区二区三区四区| 国产精品理论在线观看| 国内外精品视频| 日韩欧美在线网站| 图片区小说区国产精品视频| 一本久道久久综合中文字幕| 国产精品免费久久久久| 国产高清在线观看免费不卡| 日本一区二区视频在线| 色噜噜久久综合| 久久久噜噜噜久久中文字幕色伊伊| 日本va欧美va精品发布| 日韩欧美不卡在线观看视频| 日本欧美一区二区三区乱码| 精品入口麻豆88视频| 国产精品一区在线观看乱码 | 18欧美乱大交hd1984| 成人精品视频一区二区三区尤物| 国产欧美综合在线观看第十页 | 欧美精品一区二区三区四区 | 欧美二区乱c少妇| 蜜桃av一区二区三区电影| 精品国产在天天线2019| 成人影视亚洲图片在线| 亚洲柠檬福利资源导航| 欧美一区二区三区视频在线观看| 久久精品国产亚洲aⅴ| 国产精品久久久久久久久果冻传媒| 色综合久久99| 韩国成人在线视频| 亚洲天堂成人网| 日韩一级片网站| 色94色欧美sute亚洲线路一ni| 日本欧美韩国一区三区| 成人免费在线视频| 欧美日韩一区二区三区在线| 精品一区二区三区的国产在线播放| 欧美—级在线免费片| 欧美日韩久久久| 97成人超碰视| 国产精品一区二区免费不卡 | 国产精品一二三四区| 亚洲1区2区3区4区| 亚洲乱码国产乱码精品精小说 | 视频一区中文字幕| 国产精品传媒入口麻豆| 26uuu成人网一区二区三区| 国产经典欧美精品| 蜜桃视频一区二区三区在线观看| 樱桃视频在线观看一区| 久久毛片高清国产| 久久久亚洲精品石原莉奈 | 久久九九影视网| 精品国产乱码久久久久久老虎 | 免费在线观看视频一区| 国产一区亚洲一区| 国产精品资源在线看| 成人毛片老司机大片| caoporm超碰国产精品| 日本韩国精品在线| 91在线国产福利| 色综合色狠狠天天综合色| 欧美日韩视频专区在线播放| 日韩一区二区在线观看视频| 国产欧美一区二区三区在线老狼| 欧美激情综合在线| 亚洲国产一二三| 国产美女一区二区三区| 色老综合老女人久久久| 久久久91精品国产一区二区精品| 亚洲国产三级在线| 久久机这里只有精品| 一本大道久久a久久综合婷婷| 日韩欧美卡一卡二| 樱花影视一区二区| 成人免费视频视频| 欧美日韩五月天| 亚洲午夜一区二区三区| 国产一区二区在线电影| 在线精品国精品国产尤物884a| 久久久精品黄色| 精品亚洲aⅴ乱码一区二区三区| 69成人精品免费视频| 亚洲一区二区偷拍精品| 日本丰满少妇一区二区三区| 国产精品九色蝌蚪自拍| 国产一区二区在线看| 91精品国产综合久久小美女| 亚洲欧美国产三级| 日本高清不卡视频| 一区二区在线观看不卡| 色先锋aa成人| 一区二区三区中文字幕在线观看| 成人高清免费在线播放| 亚洲欧洲美洲综合色网| 91理论电影在线观看| 日韩一区在线看| 在线观看区一区二| 136国产福利精品导航| 不卡一区二区三区四区| 亚洲激情中文1区| 日韩欧美一区二区免费| 国产在线观看一区二区| 国产精品欧美久久久久一区二区| 色诱亚洲精品久久久久久| 一级精品视频在线观看宜春院| 777午夜精品视频在线播放| 另类小说视频一区二区| 国产精品国产a级| 欧美人牲a欧美精品| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美日韩国产成人在线免费| 日韩成人精品视频| 国产精品久久久久久久久图文区 | 国产精品久久久久久久久快鸭| 欧美色网一区二区| 国产91丝袜在线播放| 午夜一区二区三区视频| 国产女主播一区| 日韩欧美激情在线| 一本久久a久久免费精品不卡| 九色综合狠狠综合久久| 亚洲第一综合色| 亚洲一区二区视频| 亚洲摸摸操操av| 中文字幕va一区二区三区| 精品国产乱码久久久久久图片| 91.com在线观看| 欧美日韩一二区| 欧美美女bb生活片| 欧美日韩国产综合一区二区三区| 色综合色综合色综合色综合色综合 | 国产精品国产成人国产三级 | 图片区小说区国产精品视频| 亚洲成人av福利| 天天做天天摸天天爽国产一区 | 国产一区二区h| 国产成人综合在线播放| 国产精品99久久久久久似苏梦涵 | 久久久久久久精| 久久综合色一综合色88| 精品国产免费一区二区三区香蕉| 日韩美女视频一区二区在线观看| 日韩欧美国产不卡| 2024国产精品| 伊人夜夜躁av伊人久久| 最新欧美精品一区二区三区| 亚洲一区日韩精品中文字幕| 亚洲一区二区欧美日韩| 强制捆绑调教一区二区| 国产美女在线观看一区| 99久久精品免费观看| 欧美人与性动xxxx| 中文在线一区二区| 亚洲成人激情自拍| 九九精品视频在线看| 91蜜桃在线免费视频| 日韩亚洲欧美中文三级| 亚洲视频狠狠干| 久久国产视频网| 欧美综合色免费| 国产精品久久久久久久久免费樱桃|