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

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

?? jflash.cpp

?? ARM 10 KEYPAD DESIGN
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
    //----------------------------------------------    if(rw == READ)	{		if(Debug_Mode)        	printf("Read Mode\n");//		mem_rw_mode(READ);        set_pin_chip_select(address);	}    //----------------------------------------------	else if(rw == WRITE)	{		if(Debug_Mode)        	printf("Write Mode\n");        mem_write_enable(ENABLE);		mem_output_enable(DISABLE);        mem_data_driver(DRIVE);        set_pin_chip_select(address);        set_data(data);	}        //----------------------------------------------	else if(rw == SETUP || rw == HOLD)	// just like a write except WE, WE needs setup time	{		if(Debug_Mode)        	printf("Setup or Hold Mode\n");		mem_output_enable(DISABLE);        mem_data_driver(DRIVE);		set_data(data);	}    //----------------------------------------------	else if(rw == RS)	// setup prior to RD_nWR_OUT	{		if(Debug_Mode)        	printf("RS Mode\n");        mem_output_enable(DISABLE);	}	else if(rw == K3)		clear_chip_selects();    // Common finish    putp(1,0,IP);	//Run-Test/Idle	putp(1,0,IP);	//Run-Test/Idle	putp(1,0,IP);	//Run-Test/Idle	putp(1,0,IP);	//Run-Test/Idle	putp(1,1,IP);	//select DR scan	putp(1,0,IP);	//capture DR	putp(1,0,IP);	//shift IR ---> (Rami: should be DR?)	int out_dat[MAX_CHAIN_LENGTH];	for(device = DEVICES_IN_CHAIN -1 ; device >= 0; device--)	{		if(device == DEVICE_CONTROLLER)		{			for(i = 1; i < ChainLength; i++)	// shift write data in to JTAG port and read data out				out_dat[i] = putp(pin[i-1],0,rp);//			for(i = 0; i < ChainLength; i++)	// shift write data in to JTAG port and read data out//				out_dat[i] = putp(pin[i],0,rp);		}		else		{			putp(0,0,IP); // extra clicks for devices in the chain		} 	}#ifdef serious_error    if(Debug_Mode)    {		for(i = 1; i < ChainLength; i++)			{    		if(rw == READ)			{				if(i%30 == 0) printf("\n");				printf(" %d", out_dat[i]);			}		}		printf("\n");	}#endif	putp(0,1,IP);	//Exit1-DR	putp(1,1,IP);	//Update-DR	putp(1,0,IP);	//Run-Test/Idle	putp(1,0,IP);	//Run-Test/Idle	putp(1,0,IP);	//Run-Test/Idle	DWORD busdat = 0;	for(i = 0; i < 32; i++)	// convert serial data to single DWORD		busdat = busdat | ((DWORD)(out_dat[input_dat_order[i]] << i));        //extest();	IR_Command(IR_Extest);	if(Debug_Mode)	{    printf("just before return\n");    dump_chain();	}    return(busdat);}/********************************************************************************** FUNCTION:         test_port** DESCRIPTION:      Searches for a valid parallel port** INPUT PARAMETERS: void** RETURNS:          int - Address of the port or zero if none available*********************************************************************************/int test_port(void){	// search for valid parallel port	if (io_access_on(LPT1)){		_outp(LPT1, 0x55);		if((int)_inp(LPT1) == 0x55)        {            if(Debug_Mode)            	printf("Parallel Com port found at I/O address: %X\n", LPT1);            return LPT1;        }	}	if (io_access_on(LPT2)){		_outp(LPT2, 0x55);		if((int)_inp(LPT2) == 0x55)        {            if(Debug_Mode)            	printf("Parallel Com port found at I/O address: %X\n", LPT2);                       return LPT2;		}	}	if (io_access_on(LPT3)){        _outp(LPT3, 0x55);		if((int)_inp(LPT3) == 0x55)        {            if(Debug_Mode)            	printf("Parallel Com port found at I/O address: %X\n", LPT3);                        return LPT3;        }	}        	return(0);	// return zero if none found}/********************************************************************************** FUNCTION:         check_id** DESCRIPTION:      Compare an ID string returned from the device with the expected string.** INPUT PARAMETERS: char * device_id - a pointer to the string returned from the device** RETURNS:          int - 0 if ID matches expected, -1 if a match fails*********************************************************************************/int check_id(char *device_id){	// compare passed device ID to the one returned from the ID command	char in_id[40];	BOOL error_flag = FALSE;	if(DEVICES_IN_CHAIN > 1)		putp(1,0,IGNORE_PORT); // this is a bug fudge factor - look into this			for(int i = 34; i >= 0; i--)	{		// skip over the spaces in the ID string        if(i == 4 || i == 21 || i == 33)		{			in_id[i] = ' ';			i--;		}        		if(putp(1,0,READ_PORT) == 0)			in_id[i] = '0';		else			in_id[i] = '1';		if((in_id[i] != *(device_id + i)) && (*(device_id + i) != '*'))		{			error_flag = TRUE;					}	}	in_id[35] = 0;		if(error_flag)	{		printf("error, failed to read device ID\n");		printf("check cables and power\n");		printf("ACT: %s\n",in_id);		printf("EXP: %s\n\n",device_id);		return -1;	}	int revision =	(int)(in_id[0] - '0') * 8 +					(int)(in_id[1] - '0') * 4 +					(int)(in_id[2] - '0') * 2 +					(int)(in_id[3] - '0');	switch(revision)	   	{		case 0: 			printf("%s revision %s\n", &WORDARRAY[p_processor][0], &WORDARRAY[p_CID0][0]); 			break;		case 1: 			printf("%s revision %s\n", &WORDARRAY[p_processor][0], &WORDARRAY[p_CID1][0]); 			break;		case 2: 			printf("%s revision %s\n", &WORDARRAY[p_processor][0], &WORDARRAY[p_CID2][0]); 			break;		case 3: 			printf("%s revision %s\n", &WORDARRAY[p_processor][0], &WORDARRAY[p_CID3][0]); 			break;		case 4: 			printf("%s revision %s\n", &WORDARRAY[p_processor][0], &WORDARRAY[p_CID4][0]); 			break;		case 5: 			printf("%s revision %s\n", &WORDARRAY[p_processor][0], &WORDARRAY[p_CID5][0]); 			break;		case 6: 			printf("%s revision %s\n", &WORDARRAY[p_processor][0], &WORDARRAY[p_CID6][0]); 			break;		case 7: 			printf("%s revision %s\n", &WORDARRAY[p_processor][0], &WORDARRAY[p_CID7][0]); 			break;		case 8: 			printf("%s revision %s\n", &WORDARRAY[p_processor][0], &WORDARRAY[p_CID8][0]); 			break;		case 9: 			printf("%s revision %s\n", &WORDARRAY[p_processor][0], &WORDARRAY[p_CID9][0]); 			break;		case 10: 			printf("%s revision %s\n", &WORDARRAY[p_processor][0], &WORDARRAY[p_CID10][0]); 			break;		case 11: 			printf("%s revision %s\n", &WORDARRAY[p_processor][0], &WORDARRAY[p_CID11][0]); 			break;		case 12: 			printf("%s revision %s\n", &WORDARRAY[p_processor][0], &WORDARRAY[p_CID12][0]); 			break;		case 13: 			printf("%s revision %s\n", &WORDARRAY[p_processor][0], &WORDARRAY[p_CID13][0]); 			break;		case 14: 			printf("%s revision %s\n", &WORDARRAY[p_processor][0], &WORDARRAY[p_CID14][0]); 			break;		case 15: 			printf("%s revision %s\n", &WORDARRAY[p_processor][0], &WORDARRAY[p_CID15][0]); 			break;		default: printf("Unknown revision number. Out of range!");	// should never get here	}	return 0;}/********************************************************************************** FUNCTION:         error_out** DESCRIPTION:      generic error printout and program exit.** INPUT PARAMETERS: char * error_string to print before exit** RETURNS:          void** GLOBAL EFFECTS:   Exits the program********************************************************************************/void error_out(char *error_string){	printf("%s\n",error_string);		if(Debug_Mode)	{		// analyze failure		printf("\n\nF A I L	U R E    A N A L Y S I S\n\n");		printf("Processor ID:       %s\n", (DebugProgress & foundProcID) ? "Found" : "Not Found");		printf("Flash ID:           %s\n", (DebugProgress & foundFlashID) ? "Found" : "Not Found");		printf("Flash Lock Status:  %s\n", (DebugProgress & unlockedFlash) ? "Unlocked" : "Not Unlocked");		printf("Verification:       %s\n", (DebugProgress & firstWordVerified) ? "Some Data Verified" : "No Data Verified");		printf("Flash Erase Status: %s\n\n", (DebugProgress & eraseSuccess) ? "Erased" : "Not Erased");				if(foundProcID & ~DebugProgress)			{				printf("You have a serious failure.\n");			printf("The ID of the processor was not detected.\n");			printf("Check all cable attachments.\n");			printf("Check for power on Pin 1 of your JTAG connector.\n");			printf("Check seating of processor and cards in sockets or connectors\n");			printf("If the bits for the ID string appear to be shifted left or right,\n");			printf("  then you probably have a JTAG routing switch set in the wrong state.\n");			printf("If the ACTual bits are all 0s or 1s, you may have a\n");			printf(   "cable or a power problem on this board.\n");  		}		else if(foundFlashID & ~DebugProgress)			{				printf("You cannot read the flash ID.\n");			printf("You can read the Processor ID.\n");			printf("This means that you have some power and cabling looks OK.\n");			printf("Check all voltages on the flash and processor devices.\n");				printf("You have power on the processor chip and at least a few other connections.\n");			printf("You may have a bad memory bus connection.\n");			printf("You may be missing a flash data file for this memory type.\n");			printf("You may have a badly connected flash memory device.\n");			printf("You may have a bad flash memory.\n");		}		else if(unlockedFlash & ~DebugProgress)			{				printf("You cannot unlock the flash.\n");			printf("You can read the Processor ID.\n");			printf("You can read the Flash ID.\n");			printf("This means that you have some power and cabling looks OK.\n");			printf("You most likely have a functional memory bus.\n");			printf("The debug log will show the last Status word from the flash \n");			printf("  just before this message. Check this value in the Flash Datasheet\n");			printf("  for clues about the state of the flash.\n"); 			printf("Check all voltages on the flash and processor devices.\n");				printf("You may have a badly connected flash memory device.\n");			printf("You may have a bad flash memory.\n");		}		else if(eraseSuccess & ~DebugProgress)			{				printf("You are unable to erase the flash.\n");			printf("You can read the Processor ID.\n");			printf("You can read the Flash ID.\n");			printf("You can unlock the flash.\n");			printf("This means that you have some power and cabling looks OK.\n");			printf("You most likely have a functional memory bus.\n");			printf("The debug log will show the last Status word from the flash \n");			printf("  just before this message. Check this value in the Flash Datasheet\n");			printf("  for clues about the state of the flash.\n"); 			printf("Check all voltages on the flash and processor devices.\n");				printf("You may have a badly connected flash memory device.\n");			printf("You may have a bad flash memory.\n");		}		else if(firstWordVerified & ~DebugProgress)			{				printf("You have at least one data word verified.\n");			printf("You can read the Processor ID.\n");			printf("You can read the Flash ID.\n");			printf("You can unlock the flash.\n");			printf("You can erase the flash.\n");			printf("This means that you have some power and cabling looks OK.\n");			printf("You most likely have a functional memory bus.\n");			printf("You probably got some other verify error.\n");			printf("Check the actual and expected data values for clues \n");			printf("  indicating open or shorted data lines.\n");			printf("Check all voltages on the flash and processor devices.\n");				printf("You may have a badly connected flash memory device.\n");			printf("You may have a bad flash memory.\n");		}		else 		{				printf("No data was verified to be programmed.\n");			printf("You can read the Processor ID.\n");			printf("You can read the Flash ID.\n");			printf("You can unlock the flash.\n");			printf("You can erase the flash.\n");			printf("This means that you have some power and cabling looks OK.\n");			printf("You most likely have a functional memory bus.\n");			printf("You probably did not actually program anything into flash memory.\n");			printf("Check the actual and expected data values for clues \n");			printf("  indicating open or shorted data lines.\n");			printf("Check all voltages on the flash and processor devices.\n");				printf("You may have a badly connected flash memory device.\n");			printf("You may have a bad flash memory.\n");		}	}	exit(1);}/********************************************************************************** FUNCTION:         program_flash** DESCRIPTION:      program the flash using buffered writes** INPUT PARAMETERS: DWORD max_write_buffer derived from the flash query*                  DWORD base_address*                   DWORD fsize (flash size)** RETURNS:          void*********************************************************************************/void program_flash(DWORD max_write_buffer, DWORD base_address, DWORD fsize){	time_t start = 0;	time_t now = 0;	WORD li_WORD;	DWORD lj;	DWORD li_DWORD;	DWORD write_word_count;//	int bus_width;//	DWORD Status;	printf("Starting programming\n");	if(!strcmp("WORD", &WORDARRAY[P_progmode][0] ))	{		printf("Using WORD programming mode...\n");	   	printf("Writing flash at hex address %8lx, %5.2f%% done    \r", 0L, (float)0);		fflush(stdout);		time(&start);		for(lj = base_address; lj < fsize + base_address; lj = lj +1)		{						time(&now);			if(difftime(now,start) > STATUS_UPDATE)	// Update status every 2 seconds				{			   	printf("Writing flash at hex address %8lx, %5.2f%% done    \r"					,lj * ADDR_MULT ,(float)(lj - base_address)/(float)fsize*100.0);				fflush(stdout);				time(&start);				}			if(!PlatformIs16bit)			{				fread((DWORD *)&li_DWORD, sizeof(DWORD) , 1, in_file);				access_rom(WRITE, lj, F_WORDBYTE_PROG, IGNORE_PORT); 				access_rom(HOLD, lj, F_WORDBYTE_PROG, IGNORE_PORT);				access_rom(WRITE, lj, li_DWORD, IGNORE_PORT); 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区视频| 欧美电视剧在线观看完整版| 成人av高清在线| 国产一区二区三区在线观看免费 | 91毛片在线观看| 成人激情动漫在线观看| 欧美视频三区在线播放| 91亚洲大成网污www| 99精品视频免费在线观看| 91在线精品秘密一区二区| 91在线porny国产在线看| 91精品办公室少妇高潮对白| 色猫猫国产区一区二在线视频| 99精品在线观看视频| 色视频成人在线观看免| 在线免费观看日本欧美| 欧美日韩一本到| 91精品国产综合久久久久久| 精品毛片乱码1区2区3区| 久久久国产精品不卡| 中文字幕一区二区三区av| 国产精品丝袜91| 一区二区三区中文在线观看| 一区二区三区欧美亚洲| 石原莉奈一区二区三区在线观看| 免费在线观看日韩欧美| 国内成人精品2018免费看| 国产成人精品免费网站| 91视频国产资源| 欧美午夜精品理论片a级按摩| 欧美日韩一区二区不卡| 日韩精品一区二区三区三区免费| 久久久精品日韩欧美| 综合久久综合久久| 天堂蜜桃91精品| 久久电影网站中文字幕| 成人深夜福利app| 色偷偷久久人人79超碰人人澡| 欧美美女一区二区| 久久久99久久| 亚洲国产成人91porn| 国内外成人在线| 91亚洲国产成人精品一区二三| 欧美日韩中文精品| 欧美一区二区三区免费观看视频 | 蜜桃精品视频在线观看| 国产精品1区二区.| 色婷婷综合久久久久中文 | 精品对白一区国产伦| 日韩一区欧美二区| 极品少妇xxxx精品少妇偷拍| av男人天堂一区| 欧美一级理论性理论a| 亚洲视频免费看| 精品一区中文字幕| 在线亚洲欧美专区二区| 久久久久久黄色| 午夜视频在线观看一区二区三区| 国产91富婆露脸刺激对白| 欧美人与禽zozo性伦| 国产精品国产三级国产普通话99| 亚洲va韩国va欧美va| 成人av在线影院| 欧美电影免费提供在线观看| 亚洲一区精品在线| 福利电影一区二区三区| 欧美一区二区三级| 亚洲午夜一二三区视频| www.在线欧美| 久久综合久久综合久久| 日韩中文字幕区一区有砖一区| 99久久99久久精品免费观看| 久久综合资源网| 日韩av中文字幕一区二区| 91丨porny丨首页| 国产视频一区不卡| 老司机精品视频在线| 欧美日本国产视频| 亚洲精品欧美二区三区中文字幕| 国产成+人+日韩+欧美+亚洲| 日韩一级黄色片| 亚洲 欧美综合在线网络| 99精品热视频| 国产精品三级久久久久三级| 国产精华液一区二区三区| 精品日韩一区二区三区 | 国产成人丝袜美腿| 日韩欧美高清在线| 青青草精品视频| 欧美精品自拍偷拍| 亚洲成av人片在线| 欧美日韩一本到| 亚洲国产视频a| 欧美午夜影院一区| 亚洲乱码日产精品bd| 91在线国内视频| 亚洲男女毛片无遮挡| 97se狠狠狠综合亚洲狠狠| 亚洲国产精品99久久久久久久久| 国产成人免费视频网站| 国产欧美视频一区二区| 丁香婷婷深情五月亚洲| 国产日韩欧美精品电影三级在线| 国产一区二区三区不卡在线观看| 精品国产sm最大网站| 美腿丝袜亚洲三区| 欧美v国产在线一区二区三区| 乱中年女人伦av一区二区| 日韩免费观看高清完整版| 麻豆国产欧美一区二区三区| www国产成人免费观看视频 深夜成人网 | 精品一区二区三区不卡 | 久久精品噜噜噜成人av农村| 欧美一区二区精品| 加勒比av一区二区| 久久久久久久久久久久久久久99 | 色妹子一区二区| 亚洲国产精品久久艾草纯爱| 欧美日韩高清一区二区不卡| 美国一区二区三区在线播放| 亚洲精品在线网站| 豆国产96在线|亚洲| 中文字幕综合网| 欧美午夜宅男影院| 青青草原综合久久大伊人精品优势| 精品伦理精品一区| 成人在线视频一区二区| 自拍偷拍国产亚洲| 欧美日韩免费高清一区色橹橹| 毛片不卡一区二区| 欧美经典三级视频一区二区三区| 99r国产精品| 午夜精品免费在线观看| 精品国产免费一区二区三区四区| 国产精品原创巨作av| 亚洲免费av在线| 日韩午夜中文字幕| 成人午夜电影久久影院| 一区二区三区精品在线观看| 91精品麻豆日日躁夜夜躁| 国内精品视频一区二区三区八戒| 国产精品久久久久三级| 欧美日韩成人高清| 国产最新精品免费| 一区二区三区中文字幕| 精品久久久久久久一区二区蜜臀| 99久久夜色精品国产网站| 日日夜夜精品视频免费| 欧美国产日韩精品免费观看| 欧美日韩国产中文| 国产ts人妖一区二区| 午夜视频在线观看一区二区| 国产日韩高清在线| 欧美日韩卡一卡二| 成人精品视频.| 免费在线观看成人| 亚洲免费观看高清| 亚洲精品一区二区三区在线观看 | 精品国产免费久久| 色欧美日韩亚洲| 国产精品一区二区三区四区| 亚洲一二三四区不卡| 国产亚洲欧美中文| 欧美日韩第一区日日骚| av影院午夜一区| 久热成人在线视频| 亚洲国产成人va在线观看天堂| 国产精品网友自拍| 精品剧情v国产在线观看在线| 日本大香伊一区二区三区| 国产高清在线精品| 日韩中文欧美在线| 亚洲狼人国产精品| 日本一区二区三区dvd视频在线| 欧美另类高清zo欧美| 99久久国产综合精品女不卡| 狠狠色伊人亚洲综合成人| 亚洲高清免费在线| 亚洲欧洲美洲综合色网| 久久综合色8888| 日韩欧美国产成人一区二区| 久久久久久久综合日本| 欧美精品久久久久久久多人混战| 91蜜桃网址入口| 成人精品免费视频| 国产九色精品成人porny | 欧美一区永久视频免费观看| 91麻豆国产福利在线观看| 国产精品亚洲第一| 久久99精品久久久久久| 全部av―极品视觉盛宴亚洲| 亚洲资源中文字幕| 亚洲精品中文在线影院| 国产精品久久久久久亚洲毛片| 久久这里只有精品6| 欧美mv日韩mv国产| 日韩三级视频在线观看| 欧美一区二区三区视频在线| 91麻豆精品国产91久久久久久久久| 欧美丝袜丝交足nylons图片|