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

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

?? shell.c

?? 最新的BOOTLOADER,供大家參考使用。
?? C
?? 第 1 頁 / 共 3 頁
字號:
{
	int i;	
	
	for(i=0; CMD_INNER[i].cmd!=NULL; i++)
	{
		if(CMD_INNER[i].hlp!=NULL)
		{
			Uart_Printf(CMD_INNER[i].cmd);
			Uart_Printf("	------	");
			Uart_Printf(CMD_INNER[i].hlp);
			Uart_SendByte('\n');
		}
	}
	
	return 0;
}


/*******************************************************************************************************/
int GetParameter(char *str, int cnt)
{
	int i, key;
	
	
	i = 0;
	while(1)
	{
		key = Uart_Getch();
		if(key)
		{
			if(key == ENTER_KEY)
			{
				str[i] = 0;
				return i;
			}
			else if(key == BACK_KEY && i>0)
			{
				i--;
				Uart_Printf("\b \b");
			}
			else if(key == 0x1b)
			{
				Uart_Getch();
				Uart_Getch();
			}
			else if(key>=0x20 && key<=0x7e && i<cnt)
			{
				str[i++] = key;
				Uart_SendByte(key);
			}				
		}
	}
	
}


/*******************************************************************************************************/
int SysClock(int argc, char *argv[])
{
	Uart_Printf("System is running @ %dHz\n", MCLK);
	return 0;
}

int GetDate(int argc, char *argv[])
{
	int i, error = 0;
	char tmp[8];
	char *str;
	unsigned int year, month, day;
	
	RtcGetTime(&SysTime);
	Uart_Printf("Current date is %d-%x-%x %s\n", SysTime.year, SysTime.month, SysTime.day, WeekDay[SysTime.weekday]);

	if(argc<2)
		return 0;	
		
	str = argv[1];	
	
	for(i=0; i<5; i++)	
		tmp[i] = str[i];
	if(tmp[4]!='-')
		error = 1;
	year = strtodec(str, 4);
	if(year<2000||error)
	{			
		Uart_Printf("year error!\n");
		return 0;
	}		
				
	str += 5;
	i = 0;		
	if(str[++i]!='-')
		if(str[++i]!='-')
			error = 1;
	str[i] = 0;					
	month = strtobcd(str);
	if((month-1)>0x11||error)
	{				
		Uart_Printf("month error!\n");
		return 0;
	}		
		
	str += i+1;		
	i = 0;
	if(str[++i]!=0)
		if(str[++i]!=0)
			error = 1;
	str[i] = 0;		
	day = strtobcd(str);
	if((day-1)>0x30||error)
	{		
		Uart_Printf("day error!\n");
		return 0;
	}	
	
	SysTime.year  = year-2000;
	SysTime.month = month;
	SysTime.day   = day;		
	RtcSetDay(&SysTime);	
	
	Uart_Printf("Set date %d-%2.2x-%2.2x %s\n", year, month, day, WeekDay[SysTime.weekday]);
	
	return 1;
}


/*******************************************************************************************************/
int SetWeek(int argc, char *argv[])
{
	int i;
	int error = 0;	
	
	if(argc<2)
		error = 1;	
	
	i = strtodec(argv[1], 1);
	if((i-1)>5)
		error = 1;
	
	if(!error)
	{
		SysTime.weekday = i;
		RtcSetWeek(&SysTime);
		Uart_Printf("Set to %s\n", WeekDay[i]);
	}
	else
	{
		Uart_Printf("Please enter weekday\n");
		Uart_Printf("0 : Sunday\n");
		Uart_Printf("1 : Monday\n");
		Uart_Printf("2 : Tuesday\n");
		Uart_Printf("3 : Wednesday\n");
		Uart_Printf("4 : Thursday\n");
		Uart_Printf("5 : Friday\n");
		Uart_Printf("6 : Satday\n");		
	}
	
	return 0;	
}


/*******************************************************************************************************/
int GetTime(int argc, char *argv[])
{
	int i, error = 0;
	char *str;
	unsigned int hour, min, sec;
	
	RtcGetTime(&SysTime);
	Uart_Printf("Current time is %2.2x:%2.2x:%2.2x\n", SysTime.hour, SysTime.min, SysTime.sec);
	
	if(argc>1)
	{
		str = argv[1];
		i = 0;
		if(str[++i]!=':')
			if(str[++i]!=':')
				error = 1;
		str[i] = 0;		
		hour = strtobcd(str);
		if(hour>0x23||error)
		{
			Uart_Printf("hour error!\n");
			return error;
		}
		
		str	+= i+1;
		i = 0;		
		if(str[++i]!=':')
			if(str[++i]!=':')
				error = 1;
		str[i] = 0;		
		min = strtobcd(str);		
		if(min>0x59||error)
		{
			Uart_Printf("minute error!\n");
			return error;
		}
		
		str	+= i+1;
		i = 0;		
		if(str[++i]!=0)
			if(str[++i]!=0)
				error = 1;
		str[i] = 0;		
		sec = strtobcd(str);		
		if(sec>0x59||error)
		{
			Uart_Printf("second error!\n");
			return error;
		}
		
		SysTime.hour = hour;
		SysTime.min  = min;
		SysTime.sec = sec;		
		RtcSetTime(&SysTime);
		
		Uart_Printf("Set time %x:%x:%x\n", hour, min, sec);								
	}	
	
	return error;
}


/*******************************************************************************************************/
int ChgSysMclk(int argc, char *argv[])
{
	int i, mdiv, pdiv, sdiv;
	char tmp[4];
	
	Uart_Printf("This function is for adjust system running clock!!!\n");
	Uart_Printf("Current clock is %dHz\n", MCLK);
	Uart_Printf("Please enter the PLL parameter to use, mdiv[0-255], pdiv[0-63], sdiv[0-3]\n");
	
	Uart_Printf("mdiv: ");	
	if((mdiv=strtodec(tmp, GetParameter(tmp, 3)))<0)		
	{
		Uart_Printf("\nget mdiv Error!\n");
		return 0;
	}					
	
	Uart_Printf("\npdiv: ");
	if((pdiv=strtodec(tmp, GetParameter(tmp, 3)))<0)		
	{
		Uart_Printf("\nget pdiv Error!\n");
		return 0;
	}	
	
	Uart_Printf("\nsdiv: ");
	
	if((sdiv=strtodec(tmp, GetParameter(tmp, 3)))<0)		
	{
		Uart_Printf("\nget sdiv Error!\n");
		return 0;
	}		
	
	Uart_Printf("\nYou set System clock mdiv = %d, pdiv = %d, sdiv = %d\n", mdiv, pdiv, sdiv);
	
	i = 8000;
	while(i--);
		
	ChangePllValue(mdiv, pdiv, sdiv);
	
	i = 8000;
	while(i--);	
	Uart_Init(0,SERIAL_BAUD);
	Uart_Printf("Current clock is %dHz\n", MCLK);	
	MCLK_M = mdiv; MCLK_P = pdiv; MCLK_S = sdiv;
	
	return 0;
}


/*******************************************************************************************************/
int ChgBaudRate(int argc, char *argv[])
{
	int i;
	unsigned int BaudSet [6] = {4800, 9600, 19200, 38400, 57600, 115200};
	
	for(i=0; i<6; i++)
		Uart_Printf("%d : %d\n", i, BaudSet[i]);
		
	Uart_Printf("Please enter choice : ");
	
	while(1)
	{
		int ch = Uart_Getch();
		
		if(ch<='6'||ch>='0')
		{
			SERIAL_BAUD = BaudSet[ch-'0'];
			Uart_Printf("Baud rate set to : %d\nPress any key to continue\n", SERIAL_BAUD);
			i = 0x4000;
			while(i--);		//wait transmit end
			Uart_Init(0,SERIAL_BAUD);
			Uart_Getch();
			break;
		}
			
	}	

	return 0;
}


/*******************************************************************************************************/
int SetIpAddr(int argc, char *argv[])
{
	int i, j, err = 0;
	char *str;
	char ch = '.';
	
	if(argc<2)
	{
		Uart_Printf("IP address : %u.%u.%u.%u\n", (IP_ADDRESS>>24)&0xff, (IP_ADDRESS>>16)&0xff, (IP_ADDRESS>>8)&0xff, IP_ADDRESS&0xff);
		return 0;
	}
	
	str = argv[1];
	
	for(j=0; j<4; j++)
	{
		if(j==3)
			ch = 0;
		i = 0;
		if(str[++i]!=ch)
			if(str[++i]!=ch)
				if(str[++i]!=ch)
					err = 1;
		str[i] = 0;
		ip[j] = strtodec(str, i);
		if(ip[j]<0||ip[j]>254||err)
		{
			Uart_Printf("IP address error\n");
			return -1;
		}			
		str += i+1;
	}
	
	Uart_Printf("Set IP address : %u.%u.%u.%u\n", ip[0], ip[1], ip[2], ip[3]);					
	IP_ADDRESS = (ip[0]<<24)|(ip[1]<<16)|(ip[2]<<8)|ip[3];
	locnode.ip = IP_ADDRESS;
	ArpInit();
	return 0;	
}


int LoadFile2Mem(int argc, char *argv[])
{
	unsigned char key;

	if(argc<2)
		download_addr = DFT_DOWNLOAD_ADDR;
	else
		download_addr = strtoul((unsigned char*)argv[1]);

	ResetNic();
	Uart_Printf("Now begin address for download, use address 0x%x\n", download_addr);
	Uart_Printf("Load image file from host\n");
	Uart_Printf("Type tftp -i %d.%d.%d.%d put filename at the host PC\n", (IP_ADDRESS>>24)&0xff, (IP_ADDRESS>>16)&0xff, (IP_ADDRESS>>8)&0xff, IP_ADDRESS&0xff);
	Uart_Printf("Press ESC key to exit\n");	

	download_begin = 1;
	download_end = 0;
	
	while (1) 
	{
		NetSever();
		if ((key=Uart_GetKey())==ESC_KEY)
		{
			Uart_SendByte('\n');
			download_begin = 0;
			return 0;
		}
		if(download_end)
		{
			download_begin = 0;
			download_end = 0;
			return 0;
		}
	}
}
//*****************************************************************************

/******************************************************************************
【功能說明】將目標代碼通過網口下載到SDRAM的默認下載地址,然后運行下載的目標代碼
******************************************************************************/
int Net_Load_Run(int argc, char *argv[])
{
	unsigned char key;
	void (*fp)(void) = (void (*)(void))DFT_DOWNLOAD_ADDR;

	download_addr = DFT_DOWNLOAD_ADDR;

	ResetNic();
	Uart_Printf("Now begin address for download, use address 0x%x\n", download_addr);
	Uart_Printf("Load image file from host\n");
	Uart_Printf("Type tftp -i %d.%d.%d.%d put filename at the host PC\n", (IP_ADDRESS>>24)&0xff, (IP_ADDRESS>>16)&0xff, (IP_ADDRESS>>8)&0xff, IP_ADDRESS&0xff);
	Uart_Printf("Press ESC key to exit\n\n");	

	download_begin = 1;
	download_end = 0;
	
	while (1) 
	{
		NetSever();
		if ((key=Uart_GetKey())==ESC_KEY)
		{
			Uart_SendByte('\n');
			download_begin = 0;
			return 0;
		}
		if(download_end)
		{
			download_begin = 0;
			download_end = 0;
			goto NEXT_RUN_CODES ;
		}
	}

NEXT_RUN_CODES:
	Uart_Printf( "Now run the received codes from address 0x%x!\n\n", DFT_DOWNLOAD_ADDR );
	(*fp)();
	
	return 0;
}


int LoadFromUart(int argc, char *argv[])
{
	int start, time_out;
	int load_addr = DFT_DOWNLOAD_ADDR;
		
	if(argc>1)
	{
		start = strtoul((unsigned char*)argv[1]);
		if(load_addr>0)
			load_addr = start;						
	}
	start = load_addr;
	
	time_out = WAIT_TIME;	
	do{
		if(rUTRSTAT0&0x1)
		{
			*((unsigned char *)load_addr++) = Uart_GetKey();
			time_out = 90000;
		}
	}while(--time_out);
	
	Uart_Printf("Received 0x%x bytes from serial port.\n", load_addr-start);
	
	return 0;
}
//*****************************************************************************

/******************************************************************************
【功能說明】將目標代碼通過串口下載到SDRAM,然后運行下載的目標代碼
******************************************************************************/
int Uart_Load_Run(int argc, char *argv[])
{
	int start, time_out;
	int load_addr = DFT_DOWNLOAD_ADDR ;
	void (*fp)(void) = (void (*)(void))DFT_DOWNLOAD_ADDR;

	Uart_Printf( "\n\nReceive codes from UART and place to addrress: 0x%x!\n", DFT_DOWNLOAD_ADDR );
	Uart_Printf( "Please send object codes [*.bin] from Uart :\n" );
	
	time_out = WAIT_TIME;	
	do{
		if(rUTRSTAT0&0x1)
		{
			*((unsigned char *)load_addr++) = Uart_GetKey();
			time_out = 90000;
		}
	}while(--time_out);
	
	Uart_Printf( "\n\nReceived 0x%x Bytes codes from UART!\n", load_addr-start );
	Uart_Printf( "Now run the received codes from address 0x%x!\n\n", DFT_DOWNLOAD_ADDR );
	(*fp)();
	
	return 0;
}
//*****************************************************************************

int RunProgram(int argc, char *argv[])
{
	unsigned char key;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩午夜精品视频| 久久亚洲精华国产精华液| 色美美综合视频| 在线看国产日韩| 日韩一区二区三区免费观看| 欧美一区二区在线免费播放| 欧美日韩成人高清| 久久综合色婷婷| 中文成人综合网| 亚洲午夜久久久久| 欧美a级一区二区| 国产91清纯白嫩初高中在线观看 | 国产在线不卡一卡二卡三卡四卡| 美女一区二区视频| 成人一级片网址| 日韩欧美一级片| 国产精品国产三级国产有无不卡| 亚洲国产另类精品专区| 国产一区二区三区国产| 欧美影院精品一区| 久久久不卡影院| 天堂午夜影视日韩欧美一区二区| 国产精品白丝av| 欧美精品一区二区三| 日韩精品电影在线| 一本色道久久综合精品竹菊| 日韩精品一区二| 蜜臀精品一区二区三区在线观看| 国产乱码精品一区二区三区忘忧草| av电影在线观看一区| 国产日韩欧美精品在线| 麻豆视频观看网址久久| 欧美狂野另类xxxxoooo| 亚洲综合一区二区精品导航| 99re这里只有精品首页| 欧美极品美女视频| 国产不卡免费视频| 国产精品乱子久久久久| 99久久精品免费看国产| 亚洲人成小说网站色在线| 国产精品一线二线三线精华| 欧美国产精品一区二区三区| 国产精品白丝jk黑袜喷水| 欧美经典一区二区| www.亚洲人| 亚洲18影院在线观看| 在线综合视频播放| 国产a区久久久| 亚洲品质自拍视频网站| 91成人看片片| 久久精品国产一区二区三区免费看| 欧美大片国产精品| jlzzjlzz亚洲女人18| 亚洲一二三四久久| 久久新电视剧免费观看| 丁香啪啪综合成人亚洲小说| 一区二区三区丝袜| 欧美mv日韩mv国产| 91福利国产成人精品照片| 免费成人在线播放| 亚洲毛片av在线| 337p粉嫩大胆色噜噜噜噜亚洲 | 久久综合久久综合久久| 91伊人久久大香线蕉| 三级精品在线观看| 国产精品护士白丝一区av| 欧美在线制服丝袜| 国产成人免费在线观看| 亚洲人快播电影网| 一本大道av一区二区在线播放| 午夜精品爽啪视频| 国产精品久久久久久久久久久免费看 | 国产成人免费网站| 日本三级亚洲精品| 亚洲一线二线三线久久久| 国产精品美女久久久久高潮| 欧美一区日韩一区| 欧美日产国产精品| 91福利国产成人精品照片| 色综合欧美在线| 成人av在线资源| 99在线精品视频| 色综合久久中文字幕综合网 | 久久久久久久综合色一本| 欧美成人精品二区三区99精品| 在线观看av一区| 欧美一区二区三区四区视频| 欧美怡红院视频| 91精品国产免费| 精品剧情v国产在线观看在线| 91麻豆精品91久久久久久清纯| 欧美精选一区二区| 久久在线免费观看| 国产精品久久久久aaaa樱花| 中文字幕一区免费在线观看 | 不卡的av电影在线观看| 99视频国产精品| 欧美乱妇15p| 久久久亚洲精品石原莉奈| 国产精品久久久久7777按摩| 一区二区三区四区中文字幕| 日韩中文字幕亚洲一区二区va在线| 视频一区视频二区中文| 国产一区 二区 三区一级| 91麻豆免费视频| 欧美不卡在线视频| 一区二区三区四区高清精品免费观看| 亚洲.国产.中文慕字在线| 国产在线精品国自产拍免费| 欧美午夜一区二区三区免费大片| 精品少妇一区二区三区在线播放| 亚洲欧美在线高清| 国产精品一区免费在线观看| 91国内精品野花午夜精品| 国产精品丝袜在线| 极品销魂美女一区二区三区| 91国产精品成人| 国产精品久久精品日日| 国产精品18久久久久久久久| 欧美一区2区视频在线观看| 亚洲午夜久久久久久久久电影网| 国产suv精品一区二区6| 日韩精品一区二区三区四区| 日韩国产精品久久久久久亚洲| 99精品欧美一区二区蜜桃免费 | 国产精品一区在线观看你懂的| 91精品国产一区二区人妖| 亚洲影视在线播放| 正在播放亚洲一区| 精品一区二区三区久久久| 在线播放视频一区| 精品一区二区在线看| 精品日韩在线观看| 国产精品18久久久久| 欧美高清在线视频| 色哟哟国产精品| 偷拍一区二区三区四区| 精品国产一区二区国模嫣然| 国产91综合网| 一区二区三区四区av| 日韩一级大片在线观看| 高清成人在线观看| 亚洲国产日韩a在线播放性色| 欧美日韩国产高清一区二区三区 | 国产一区二区三区免费播放| 久久精品欧美一区二区三区麻豆| 日韩欧美一区二区三区在线| 成人精品高清在线| 亚洲柠檬福利资源导航| 国产专区欧美精品| 91免费版pro下载短视频| 国产精品久久久久久亚洲毛片 | 久久亚洲一区二区三区四区| 亚洲国产精品一区二区久久恐怖片| 国内精品国产成人国产三级粉色 | 成人性生交大片免费看中文| 亚洲欧洲综合另类| 欧美一级片在线观看| 色婷婷国产精品综合在线观看| 亚洲国产精品麻豆| 伊人夜夜躁av伊人久久| 久久综合久久综合久久| 日韩欧美区一区二| 欧美伦理视频网站| 欧美日韩一区二区在线视频| 春色校园综合激情亚洲| 日本va欧美va精品| 亚洲国产日韩精品| 亚洲电影中文字幕在线观看| 亚洲三级小视频| 国产精品久久久一本精品| 精品国产污污免费网站入口| 欧美男女性生活在线直播观看| 一本大道av伊人久久综合| 91麻豆福利精品推荐| a在线播放不卡| 色婷婷av久久久久久久| 色久综合一二码| 色一区在线观看| www.亚洲激情.com| 国产精品一二三区在线| 国产风韵犹存在线视精品| 国产一区二区三区不卡在线观看| 精品一区二区影视| 国产不卡一区视频| 欧洲av在线精品| 欧美一区二区三区四区视频| 2020国产精品| 亚洲午夜av在线| 九色|91porny| av成人免费在线| 欧美一卡2卡3卡4卡| 国产精品美女久久久久久久久| 亚洲一区二区三区国产| 麻豆免费精品视频| 欧美日韩夫妻久久| 国产精品毛片大码女人| 日韩国产精品久久久久久亚洲| 成人综合婷婷国产精品久久蜜臀| 色爱区综合激月婷婷|