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

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

?? lwmon.c

?? U-Boot1.1.2是最為常用的嵌入式系統Bootloader
?? C
?? 第 1 頁 / 共 3 頁
字號:
 *D* Design:       wd@denx.deC* Coding:       wd@denx.deV* Verification: dzu@denx.de ***********************************************************************/static uchar *key_match (uchar *kbd_data){	uchar magic[sizeof (kbd_magic_prefix) + 1];	uchar *suffix;	uchar *kbd_magic_keys;	/*	 * The following string defines the characters that can pe appended	 * to "key_magic" to form the names of environment variables that	 * hold "magic" key codes, i. e. such key codes that can cause	 * pre-boot actions. If the string is empty (""), then only	 * "key_magic" is checked (old behaviour); the string "125" causes	 * checks for "key_magic1", "key_magic2" and "key_magic5", etc.	 */	if ((kbd_magic_keys = getenv ("magic_keys")) == NULL)		kbd_magic_keys = "";	/* loop over all magic keys;	 * use '\0' suffix in case of empty string	 */	for (suffix=kbd_magic_keys; *suffix || suffix==kbd_magic_keys; ++suffix) {		sprintf (magic, "%s%c", kbd_magic_prefix, *suffix);#if 0		printf ("### Check magic \"%s\"\n", magic);#endif		if (compare_magic(kbd_data, getenv(magic)) == 0) {			uchar cmd_name[sizeof (kbd_command_prefix) + 1];			char *cmd;			sprintf (cmd_name, "%s%c", kbd_command_prefix, *suffix);			cmd = getenv (cmd_name);#if 0			printf ("### Set PREBOOT to $(%s): \"%s\"\n",					cmd_name, cmd ? cmd : "<<NULL>>");#endif			*kbd_data = *suffix;			return (cmd);		}	}#if 0	printf ("### Delete PREBOOT\n");#endif	*kbd_data = '\0';	return (NULL);}#endif /* CONFIG_PREBOOT *//*---------------Board Special Commands: PIC read/write ---------------*/#if (CONFIG_COMMANDS & CFG_CMD_BSP)/***********************************************************************F* Function:     int do_pic (cmd_tbl_t *cmdtp, int flag,F*                           int argc, char *argv[]) P*A*Z* *P* Parameters:   cmd_tbl_t *cmdtpP*                - Pointer to our command table entryP*               int flagP*                - If the CMD_FLAG_REPEAT bit is set, then this call isP*                  a repetitionP*               int argcP*                - Argument countP*               char *argv[]P*                - Array of the actual argumentsP*P* Returnvalue:  intP*                - 0  The command was handled successfullyP*                  1  An error occurred *Z* Intention:    Implement the "pic [read|write]" commands.Z*               The read subcommand takes one argument, the register,Z*               whereas the write command takes two, the register andZ*               the new value. *D* Design:       wd@denx.deC* Coding:       wd@denx.deV* Verification: dzu@denx.de ***********************************************************************/int do_pic (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]){	uchar reg, val;	switch (argc) {	case 3:					/* PIC read reg */		if (strcmp (argv[1], "read") != 0)			break;		reg = simple_strtoul (argv[2], NULL, 16);		printf ("PIC read: reg %02x: %02x\n\n", reg, pic_read (reg));		return 0;	case 4:					/* PIC write reg val */		if (strcmp (argv[1], "write") != 0)			break;		reg = simple_strtoul (argv[2], NULL, 16);		val = simple_strtoul (argv[3], NULL, 16);		printf ("PIC write: reg %02x val 0x%02x: %02x => ",				reg, val, pic_read (reg));		pic_write (reg, val);		printf ("%02x\n\n", pic_read (reg));		return 0;	default:		break;	}	printf ("Usage:\n%s\n", cmdtp->usage);	return 1;}U_BOOT_CMD(	pic,	4,	1,	do_pic,	"pic     - read and write PIC registers\n",	"read  reg      - read PIC register `reg'\n"	"pic write reg val  - write value `val' to PIC register `reg'\n");/***********************************************************************F* Function:     int do_kbd (cmd_tbl_t *cmdtp, int flag,F*                           int argc, char *argv[]) P*A*Z* *P* Parameters:   cmd_tbl_t *cmdtpP*                - Pointer to our command table entryP*               int flagP*                - If the CMD_FLAG_REPEAT bit is set, then this call isP*                  a repetitionP*               int argcP*                - Argument countP*               char *argv[]P*                - Array of the actual argumentsP*P* Returnvalue:  intP*                - 0 is always returned. *Z* Intention:    Implement the "kbd" command.Z*               The keyboard status is read.  The result is printed onZ*               the console and written into the "keybd" environmentZ*               variable. *D* Design:       wd@denx.deC* Coding:       wd@denx.deV* Verification: dzu@denx.de ***********************************************************************/int do_kbd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]){	uchar kbd_data[KEYBD_DATALEN];	uchar keybd_env[2 * KEYBD_DATALEN + 1];	uchar val;	int i;#if 0 /* Done in kbd_init */	i2c_init (CFG_I2C_SPEED, CFG_I2C_SLAVE);#endif	/* Read keys */	val = KEYBD_CMD_READ_KEYS;	i2c_write (kbd_addr, 0, 0, &val, 1);	i2c_read (kbd_addr, 0, 0, kbd_data, KEYBD_DATALEN);	puts ("Keys:");	for (i = 0; i < KEYBD_DATALEN; ++i) {		sprintf (keybd_env + i + i, "%02X", kbd_data[i]);		printf (" %02x", kbd_data[i]);	}	putc ('\n');	setenv ("keybd", keybd_env);	return 0;}U_BOOT_CMD(	kbd,	1,	1,	do_kbd,	"kbd     - read keyboard status\n",	NULL);/* Read and set LSB switch */#define CFG_PC_TXD1_ENA		0x0008		/* PC.12 *//***********************************************************************F* Function:     int do_lsb (cmd_tbl_t *cmdtp, int flag,F*                           int argc, char *argv[]) P*A*Z* *P* Parameters:   cmd_tbl_t *cmdtpP*                - Pointer to our command table entryP*               int flagP*                - If the CMD_FLAG_REPEAT bit is set, then this call isP*                  a repetitionP*               int argcP*                - Argument countP*               char *argv[]P*                - Array of the actual argumentsP*P* Returnvalue:  intP*                - 0  The command was handled successfullyP*                  1  An error occurred *Z* Intention:    Implement the "lsb [on|off]" commands.Z*               The lsb is switched according to the first parameter byZ*               by signaling the PIC I/O expander.Z*               Called with no arguments, the current setting isZ*               printed. *D* Design:       wd@denx.deC* Coding:       wd@denx.deV* Verification: dzu@denx.de ***********************************************************************/int do_lsb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]){	uchar val;	immap_t *immr = (immap_t *) CFG_IMMR;	switch (argc) {	case 1:					/* lsb - print setting */		val = pic_read (0x60);		printf ("LSB is o%s\n", (val & 0x20) ? "n" : "ff");		return 0;	case 2:					/* lsb on or lsb off - set switch */		val = pic_read (0x60);		if (strcmp (argv[1], "on") == 0) {			val |= 0x20;			immr->im_ioport.iop_pcpar &= ~(CFG_PC_TXD1_ENA);			immr->im_ioport.iop_pcdat |= CFG_PC_TXD1_ENA;			immr->im_ioport.iop_pcdir |= CFG_PC_TXD1_ENA;		} else if (strcmp (argv[1], "off") == 0) {			val &= ~0x20;			immr->im_ioport.iop_pcpar &= ~(CFG_PC_TXD1_ENA);			immr->im_ioport.iop_pcdat &= ~(CFG_PC_TXD1_ENA);			immr->im_ioport.iop_pcdir |= CFG_PC_TXD1_ENA;		} else {			break;		}		pic_write (0x60, val);		return 0;	default:		break;	}	printf ("Usage:\n%s\n", cmdtp->usage);	return 1;}U_BOOT_CMD(	lsb,	2,	1,	do_lsb,	"lsb     - check and set LSB switch\n",	"on  - switch LSB on\n"	"lsb off - switch LSB off\n"	"lsb     - print current setting\n");#endif /* CFG_CMD_BSP *//*----------------------------- Utilities -----------------------------*//***********************************************************************F* Function:     uchar pic_read (uchar reg) P*A*Z* *P* Parameters:   uchar regP*                - Register to readP*P* Returnvalue:  ucharP*                - Value read from register *Z* Intention:    Read a register from the PIC I/O expander. *D* Design:       wd@denx.deC* Coding:       wd@denx.deV* Verification: dzu@denx.de ***********************************************************************/uchar pic_read (uchar reg){	return (i2c_reg_read (CFG_I2C_PICIO_ADDR, reg));}/***********************************************************************F* Function:     void pic_write (uchar reg, uchar val) P*A*Z* *P* Parameters:   uchar regP*                - Register to readP*               uchar valP*                - Value to writeP*P* Returnvalue:  none *Z* Intention:    Write to a register on the PIC I/O expander. *D* Design:       wd@denx.deC* Coding:       wd@denx.deV* Verification: dzu@denx.de ***********************************************************************/void pic_write (uchar reg, uchar val){	i2c_reg_write (CFG_I2C_PICIO_ADDR, reg, val);}/*---------------------- Board Control Functions ----------------------*//***********************************************************************F* Function:     void board_poweroff (void) P*A*Z* *P* Parameters:   noneP*P* Returnvalue:  none *Z* Intention:    Turn off the battery power and loop endless, so thisZ*               should better be the last function you call... *D* Design:       wd@denx.deC* Coding:       wd@denx.deV* Verification: dzu@denx.de ***********************************************************************/void board_poweroff (void){    /* Turn battery off */    ((volatile immap_t *)CFG_IMMR)->im_ioport.iop_pcdat &= ~(1 << (31 - 13));    while (1);}#ifdef CONFIG_MODEM_SUPPORTstatic int key_pressed(void){	uchar kbd_data[KEYBD_DATALEN];	uchar val;	/* Read keys */	val = KEYBD_CMD_READ_KEYS;	i2c_write (kbd_addr, 0, 0, &val, 1);	i2c_read (kbd_addr, 0, 0, kbd_data, KEYBD_DATALEN);	return (compare_magic(kbd_data, CONFIG_MODEM_KEY_MAGIC) == 0);}#endif	/* CONFIG_MODEM_SUPPORT */#ifdef CONFIG_POST/* * Returns 1 if keys pressed to start the power-on long-running tests * Called from board_init_f(). */int post_hotkeys_pressed(void){	uchar kbd_data[KEYBD_DATALEN];	uchar val;	/* Read keys */	val = KEYBD_CMD_READ_KEYS;	i2c_write (kbd_addr, 0, 0, &val, 1);	i2c_read (kbd_addr, 0, 0, kbd_data, KEYBD_DATALEN);	return (compare_magic(kbd_data, CONFIG_POST_KEY_MAGIC) == 0);}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看91视频| 色婷婷激情一区二区三区| 午夜视频一区在线观看| 亚洲激情第一区| 亚洲永久免费av| 亚洲已满18点击进入久久| 亚洲在线视频一区| 婷婷丁香久久五月婷婷| 日本一区中文字幕| 久草在线在线精品观看| 韩国一区二区在线观看| 国产美女娇喘av呻吟久久| 丁香啪啪综合成人亚洲小说| 91一区二区三区在线观看| 在线视频观看一区| 日韩三级伦理片妻子的秘密按摩| 日韩欧美视频在线| 欧美国产日韩一二三区| 一区二区三国产精华液| 久久精品国产亚洲5555| 国产不卡视频在线播放| 色综合天天综合网国产成人综合天| 欧洲av在线精品| 精品国偷自产国产一区| 亚洲另类春色国产| 国内精品伊人久久久久av一坑 | 精品乱码亚洲一区二区不卡| 久久亚洲影视婷婷| 一区二区三区四区高清精品免费观看 | 成人av影视在线观看| 日本乱人伦一区| 欧美tickling网站挠脚心| 亚洲国产精品t66y| 水野朝阳av一区二区三区| 国产成人综合在线播放| 欧美色视频一区| 国产精品日产欧美久久久久| 亚洲成人av一区二区三区| 成人自拍视频在线| 69堂国产成人免费视频| 亚洲欧洲一区二区在线播放| 蜜臀av一区二区在线免费观看| av资源站一区| 精品av久久707| 亚洲成人你懂的| 99re免费视频精品全部| 精品日韩一区二区三区免费视频| 亚洲男女一区二区三区| 国产一二三精品| 欧美成人精精品一区二区频| 一区二区成人在线观看| 成人激情午夜影院| 久久久久久久久久久久久久久99| 午夜久久久久久电影| 日韩欧美在线1卡| 亚洲欧美日韩国产中文在线| 国产美女精品人人做人人爽| 日韩欧美国产1| 日日嗨av一区二区三区四区| 色婷婷综合五月| 国产精品初高中害羞小美女文| 久久av中文字幕片| 日韩一区二区三区在线| 五月天精品一区二区三区| 在线观看一区不卡| 亚洲嫩草精品久久| 97精品国产露脸对白| 国产欧美精品一区| 国产一区二三区| 精品国产3级a| 国产一区二区三区日韩| 久久久久久久国产精品影院| 激情综合一区二区三区| 精品国产网站在线观看| 麻豆精品新av中文字幕| 欧美精品一区二区在线观看| 精品一区二区三区蜜桃| 精品久久久久久综合日本欧美| 美女视频一区二区| 亚洲精品一区二区精华| 国产一区二区导航在线播放| 国产欧美一区二区三区网站| 豆国产96在线|亚洲| 亚洲欧洲精品一区二区精品久久久| 不卡一区在线观看| 亚洲精品国产精华液| 欧美午夜精品久久久久久超碰| 天堂一区二区在线| 欧美mv日韩mv国产网站| 国产成人欧美日韩在线电影| 最新久久zyz资源站| 91麻豆.com| 日韩精品亚洲专区| 久久精品人人做| 91视视频在线观看入口直接观看www| 夜夜操天天操亚洲| 日韩一级大片在线| 成人小视频在线| 日韩中文字幕亚洲一区二区va在线| 欧美精品一区视频| 黄一区二区三区| 欧美一级专区免费大片| 91蜜桃网址入口| 亚洲丝袜美腿综合| 3d成人h动漫网站入口| 国产在线一区二区综合免费视频| 欧美国产1区2区| 777久久久精品| 成人做爰69片免费看网站| 午夜精品久久久久久久久| 亚洲精品在线电影| 欧美三级资源在线| 成人午夜av电影| 日本欧美一区二区三区乱码| 国产亚洲女人久久久久毛片| 色88888久久久久久影院野外| 国产呦精品一区二区三区网站| 伊人婷婷欧美激情| 久久精品免视看| 欧美一区日韩一区| 日本久久一区二区三区| 狠狠久久亚洲欧美| 日韩激情一二三区| 亚洲日韩欧美一区二区在线| 亚洲精品一区二区三区精华液 | 日韩一区二区中文字幕| 91在线云播放| 国产精品小仙女| 蜜臀精品一区二区三区在线观看 | 91小视频免费看| 黑人巨大精品欧美黑白配亚洲| 亚洲图片欧美综合| 亚洲欧美国产77777| 国产亚洲一区二区三区在线观看| 欧美日韩精品一区视频| 99国产精品久久| 丁香婷婷综合激情五月色| 美女爽到高潮91| 日本不卡一区二区| 天天色天天操综合| 五月天中文字幕一区二区| 亚洲激情综合网| 国产精品美女久久久久久久久 | 日本道色综合久久| k8久久久一区二区三区 | 欧美日韩大陆一区二区| 91麻豆精品在线观看| 成人av在线资源网| 成人动漫在线一区| 99天天综合性| 91美女蜜桃在线| 欧美亚洲愉拍一区二区| 在线视频你懂得一区二区三区| 91理论电影在线观看| 在线一区二区三区四区五区| 色欧美日韩亚洲| 欧美日韩在线一区二区| 91精品在线免费观看| 欧美zozozo| 中文字幕+乱码+中文字幕一区| 国产免费观看久久| 亚洲欧美日韩中文播放 | jvid福利写真一区二区三区| 99国产精品久久久久久久久久| 99国产欧美久久久精品| 欧洲激情一区二区| 日韩欧美一区二区不卡| 久久久久97国产精华液好用吗| 久久久久久久综合| ...中文天堂在线一区| 亚洲一区二区三区四区的| 日本不卡视频在线观看| 国产精品一二三区在线| 色综合天天综合网天天看片 | 日本欧美一区二区三区| 精品一区二区三区欧美| 国产成人精品免费看| 91视视频在线观看入口直接观看www | 欧美日韩美女一区二区| 欧美videofree性高清杂交| 国产视频在线观看一区二区三区| 亚洲视频香蕉人妖| 美日韩一级片在线观看| 高清在线观看日韩| 欧美蜜桃一区二区三区| 国产午夜精品一区二区三区视频| 亚洲男同性恋视频| 激情综合色播五月| 色天天综合色天天久久| 精品日韩一区二区三区免费视频| 中文字幕中文乱码欧美一区二区| 亚洲一区二区三区四区不卡 | 综合久久久久综合| 久久99国产精品免费网站| 色一情一乱一乱一91av| 日韩欧美精品在线视频| 一区二区三区视频在线看| 经典三级一区二区| 欧美日韩在线播放三区四区| 国产精品色噜噜|