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

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

?? micro.c

?? 改寫的U-boot for s3c4510 (注意此源碼是在windows下壓縮了)。 1、支持串口下載
?? C
?? 第 1 頁 / 共 5 頁
字號:
			/* Set the new TDI value */			setPort( TDI, (short)(ucTdiByte & 1) );			ucTdiByte   >>= 1;			/* Set TCK low */			setPort( TCK, 0 );			if ( pucTdo )			{				/* Save the TDO value */				ucTdoBit    = readTDOBit();				ucTdoByte   |= ( ucTdoBit << i );			}			/* Set TCK high */			setPort( TCK, 1 );		}		/* Save the TDO byte value */		if ( pucTdo )		{			(*(--pucTdo))   = ucTdoByte;		}	}}/***************************************************************************** * Function:     xsvfShift * Description:  Goes to the given starting TAP state. *               Calls xsvfShiftOnly to shift in the given TDI data and *               optionally capture the TDO data. *               Compares the TDO captured data against the TDO expected *               data. *               If a data mismatch occurs, then executes the exception *               handling loop upto ucMaxRepeat times. * Parameters:   pucTapState     - Ptr to current TAP state. *               ucStartState    - Starting shift state: Shift-DR or Shift-IR. *               lNumBits        - number of bits to shift. *               plvTdi          - ptr to lenval for TDI data. *               plvTdoCaptured  - ptr to lenval for storing TDO data. *               plvTdoExpected  - ptr to expected TDO data. *               plvTdoMask      - ptr to TDO mask. *               ucEndState      - state in which to end the shift. *               lRunTestTime    - amount of time to wait after the shift. *               ucMaxRepeat     - Maximum number of retries on TDO mismatch. * Returns:      int             - 0 = success; otherwise TDO mismatch. * Notes:        XC9500XL-only Optimization: *               Skip the waitTime() if plvTdoMask->val[0:plvTdoMask->len-1] *               is NOT all zeros and sMatch==1. *****************************************************************************/int xsvfShift( unsigned char*   pucTapState,	       unsigned char    ucStartState,	       long             lNumBits,	       lenVal*          plvTdi,	       lenVal*          plvTdoCaptured,	       lenVal*          plvTdoExpected,	       lenVal*          plvTdoMask,	       unsigned char    ucEndState,	       long             lRunTestTime,	       unsigned char    ucMaxRepeat ){	int             iErrorCode;	int             iMismatch;	unsigned char   ucRepeat;	int             iExitShift;	iErrorCode  = XSVF_ERROR_NONE;	iMismatch   = 0;	ucRepeat    = 0;	iExitShift  = ( ucStartState != ucEndState );	XSVFDBG_PRINTF1( 3, "   Shift Length = %ld\n", lNumBits );	XSVFDBG_PRINTF( 4, "    TDI          = ");	XSVFDBG_PRINTLENVAL( 4, plvTdi );	XSVFDBG_PRINTF( 4, "\n");	XSVFDBG_PRINTF( 4, "    TDO Expected = ");	XSVFDBG_PRINTLENVAL( 4, plvTdoExpected );	XSVFDBG_PRINTF( 4, "\n");	if ( !lNumBits )	{		/* Compatibility with XSVF2.00:  XSDR 0 = no shift, but wait in RTI */		if ( lRunTestTime )		{			/* Wait for prespecified XRUNTEST time */			xsvfGotoTapState( pucTapState, XTAPSTATE_RUNTEST );			XSVFDBG_PRINTF1( 3, "   Wait = %ld usec\n", lRunTestTime );			waitTime( lRunTestTime );		}	}	else	{		do		{			/* Goto Shift-DR or Shift-IR */			xsvfGotoTapState( pucTapState, ucStartState );			/* Shift TDI and capture TDO */			xsvfShiftOnly( lNumBits, plvTdi, plvTdoCaptured, iExitShift );			if ( plvTdoExpected )			{				/* Compare TDO data to expected TDO data */				iMismatch   = !EqualLenVal( plvTdoExpected,							    plvTdoCaptured,							    plvTdoMask );			}			if ( iExitShift )			{				/* Update TAP state:  Shift->Exit */				++(*pucTapState);				XSVFDBG_PRINTF1( 3, "   TAP State = %s\n",						 xsvf_pzTapState[ *pucTapState ] );				if ( iMismatch && lRunTestTime && ( ucRepeat < ucMaxRepeat ) )				{					XSVFDBG_PRINTF( 4, "    TDO Expected = ");					XSVFDBG_PRINTLENVAL( 4, plvTdoExpected );					XSVFDBG_PRINTF( 4, "\n");					XSVFDBG_PRINTF( 4, "    TDO Captured = ");					XSVFDBG_PRINTLENVAL( 4, plvTdoCaptured );					XSVFDBG_PRINTF( 4, "\n");					XSVFDBG_PRINTF( 4, "    TDO Mask     = ");					XSVFDBG_PRINTLENVAL( 4, plvTdoMask );					XSVFDBG_PRINTF( 4, "\n");					XSVFDBG_PRINTF1( 3, "   Retry #%d\n", ( ucRepeat + 1 ) );					/* Do exception handling retry - ShiftDR only */					xsvfGotoTapState( pucTapState, XTAPSTATE_PAUSEDR );					/* Shift 1 extra bit */					xsvfGotoTapState( pucTapState, XTAPSTATE_SHIFTDR );					/* Increment RUNTEST time by an additional 25% */					lRunTestTime    += ( lRunTestTime >> 2 );				}				else				{					/* Do normal exit from Shift-XR */					xsvfGotoTapState( pucTapState, ucEndState );				}				if ( lRunTestTime )				{					/* Wait for prespecified XRUNTEST time */					xsvfGotoTapState( pucTapState, XTAPSTATE_RUNTEST );					XSVFDBG_PRINTF1( 3, "   Wait = %ld usec\n", lRunTestTime );					waitTime( lRunTestTime );				}			}		} while ( iMismatch && ( ucRepeat++ < ucMaxRepeat ) );	}	if ( iMismatch )	{		XSVFDBG_PRINTF( 1, " TDO Expected = ");		XSVFDBG_PRINTLENVAL( 1, plvTdoExpected );		XSVFDBG_PRINTF( 1, "\n");		XSVFDBG_PRINTF( 1, " TDO Captured = ");		XSVFDBG_PRINTLENVAL( 1, plvTdoCaptured );		XSVFDBG_PRINTF( 1, "\n");		XSVFDBG_PRINTF( 1, " TDO Mask     = ");		XSVFDBG_PRINTLENVAL( 1, plvTdoMask );		XSVFDBG_PRINTF( 1, "\n");		if ( ucMaxRepeat && ( ucRepeat > ucMaxRepeat ) )		{			iErrorCode  = XSVF_ERROR_MAXRETRIES;		}		else		{			iErrorCode  = XSVF_ERROR_TDOMISMATCH;		}	}	return( iErrorCode );}/***************************************************************************** * Function:     xsvfBasicXSDRTDO * Description:  Get the XSDRTDO parameters and execute the XSDRTDO command. *               This is the common function for all XSDRTDO commands. * Parameters:   pucTapState         - Current TAP state. *               lShiftLengthBits    - number of bits to shift. *               sShiftLengthBytes   - number of bytes to read. *               plvTdi              - ptr to lenval for TDI data. *               lvTdoCaptured       - ptr to lenval for storing TDO data. *               iEndState           - state in which to end the shift. *               lRunTestTime        - amount of time to wait after the shift. *               ucMaxRepeat         - maximum xc9500/xl retries. * Returns:      int                 - 0 = success; otherwise TDO mismatch. *****************************************************************************/int xsvfBasicXSDRTDO( unsigned char*    pucTapState,		      long              lShiftLengthBits,		      short             sShiftLengthBytes,		      lenVal*           plvTdi,		      lenVal*           plvTdoCaptured,		      lenVal*           plvTdoExpected,		      lenVal*           plvTdoMask,		      unsigned char     ucEndState,		      long              lRunTestTime,		      unsigned char     ucMaxRepeat ){	readVal( plvTdi, sShiftLengthBytes );	if ( plvTdoExpected )	{		readVal( plvTdoExpected, sShiftLengthBytes );	}	return( xsvfShift( pucTapState, XTAPSTATE_SHIFTDR, lShiftLengthBits,			   plvTdi, plvTdoCaptured, plvTdoExpected, plvTdoMask,			   ucEndState, lRunTestTime, ucMaxRepeat ) );}/***************************************************************************** * Function:     xsvfDoSDRMasking * Description:  Update the data value with the next XSDRINC data and address. * Example:      dataVal=0x01ff, nextData=0xab, addressMask=0x0100, *               dataMask=0x00ff, should set dataVal to 0x02ab * Parameters:   plvTdi          - The current TDI value. *               plvNextData     - the next data value. *               plvAddressMask  - the address mask. *               plvDataMask     - the data mask. * Returns:      void. *****************************************************************************/#ifdef  XSVF_SUPPORT_COMPRESSIONvoid xsvfDoSDRMasking( lenVal*  plvTdi,		       lenVal*  plvNextData,		       lenVal*  plvAddressMask,		       lenVal*  plvDataMask ){	int             i;	unsigned char   ucTdi;	unsigned char   ucTdiMask;	unsigned char   ucDataMask;	unsigned char   ucNextData;	unsigned char   ucNextMask;	short           sNextData;	/* add the address Mask to dataVal and return as a new dataVal */	addVal( plvTdi, plvTdi, plvAddressMask );	ucNextData  = 0;	ucNextMask  = 0;	sNextData   = plvNextData->len;	for ( i = plvDataMask->len - 1; i >= 0; --i )	{		/* Go through data mask in reverse order looking for mask (1) bits */		ucDataMask  = plvDataMask->val[ i ];		if ( ucDataMask )		{			/* Retrieve the corresponding TDI byte value */			ucTdi       = plvTdi->val[ i ];			/* For each bit in the data mask byte, look for 1's */			ucTdiMask   = 1;			while ( ucDataMask )			{				if ( ucDataMask & 1 )				{					if ( !ucNextMask )					{						/* Get the next data byte */						ucNextData  = plvNextData->val[ --sNextData ];						ucNextMask  = 1;					}					/* Set or clear the data bit according to the next data */					if ( ucNextData & ucNextMask )					{						ucTdi   |= ucTdiMask;       /* Set bit */					}					else					{						ucTdi   &= ( ~ucTdiMask );  /* Clear bit */					}					/* Update the next data */					ucNextMask  <<= 1;				}				ucTdiMask   <<= 1;				ucDataMask  >>= 1;			}			/* Update the TDI value */			plvTdi->val[ i ]    = ucTdi;		}	}}#endif  /* XSVF_SUPPORT_COMPRESSION *//*============================================================================ * XSVF Command Functions (type = TXsvfDoCmdFuncPtr) * These functions update pXsvfInfo->iErrorCode only on an error. * Otherwise, the error code is left alone. * The function returns the error code from the function. ============================================================================*//***************************************************************************** * Function:     xsvfDoIllegalCmd * Description:  Function place holder for illegal/unsupported commands. * Parameters:   pXsvfInfo   - XSVF information pointer. * Returns:      int         - 0 = success;  non-zero = error. *****************************************************************************/int xsvfDoIllegalCmd( SXsvfInfo* pXsvfInfo ){	XSVFDBG_PRINTF2( 0, "ERROR:  Encountered unsupported command #%d (%s)\n",			 ((unsigned int)(pXsvfInfo->ucCommand)),			 ((pXsvfInfo->ucCommand < XLASTCMD)			  ? (xsvf_pzCommandName[pXsvfInfo->ucCommand])			  : "Unknown") );	pXsvfInfo->iErrorCode   = XSVF_ERROR_ILLEGALCMD;	return( pXsvfInfo->iErrorCode );}/***************************************************************************** * Function:     xsvfDoXCOMPLETE * Description:  XCOMPLETE (no parameters) *               Update complete status for XSVF player. * Parameters:   pXsvfInfo   - XSVF information pointer. * Returns:      int         - 0 = success;  non-zero = error. *****************************************************************************/int xsvfDoXCOMPLETE( SXsvfInfo* pXsvfInfo ){	pXsvfInfo->ucComplete   = 1;	return( XSVF_ERROR_NONE );}/***************************************************************************** * Function:     xsvfDoXTDOMASK * Description:  XTDOMASK <lenVal.TdoMask[XSDRSIZE]> *               Prespecify the TDO compare mask. * Parameters:   pXsvfInfo   - XSVF information pointer. * Returns:      int         - 0 = success;  non-zero = error. *****************************************************************************/int xsvfDoXTDOMASK( SXsvfInfo* pXsvfInfo ){	readVal( &(pXsvfInfo->lvTdoMask), pXsvfInfo->sShiftLengthBytes );	XSVFDBG_PRINTF( 4, "    TDO Mask     = ");	XSVFDBG_PRINTLENVAL( 4, &(pXsvfInfo->lvTdoMask) );	XSVFDBG_PRINTF( 4, "\n");	return( XSVF_ERROR_NONE );}/***************************************************************************** * Function:     xsvfDoXSIR * Description:  XSIR <(byte)shiftlen> <lenVal.TDI[shiftlen]> *               Get the instruction and shift the instruction into the TAP. *               If prespecified XRUNTEST!=0, goto RUNTEST and wait after *               the shift for XRUNTEST usec. * Parameters:   pXsvfInfo   - XSVF information pointer. * Returns:      int         - 0 = success;  non-zero = error. *****************************************************************************/int xsvfDoXSIR( SXsvfInfo* pXsvfInfo ){	unsigned char   ucShiftIrBits;	short           sShiftIrBytes;	int             iErrorCode;	/* Get the shift length and store */	readByte( &ucShiftIrBits );	sShiftIrBytes   = xsvfGetAsNumBytes( ucShiftIrBits );	XSVFDBG_PRINTF1( 3, "   XSIR length = %d\n",			 ((unsigned int)ucShiftIrBits) );	if ( sShiftIrBytes > MAX_LEN )	{		iErrorCode  = XSVF_ERROR_DATAOVERFLOW;	}	else	{		/* Get and store instruction to shift in */		readVal( &(pXsvfInfo->lvTdi), xsvfGetAsNumBytes( ucShiftIrBits ) );		/* Shift the data */		iErrorCode  = xsvfShift( &(pXsvfInfo->ucTapState), XTAPSTATE_SHIFTIR,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产馆精品极品| 色综合久久久久综合| www.在线成人| 91蜜桃在线观看| 91一区二区三区在线播放| 成人激情动漫在线观看| a4yy欧美一区二区三区| 在线观看一区二区视频| 欧美在线观看18| 精品1区2区在线观看| 日本一区二区三区四区| 亚洲精品中文在线| 精品制服美女久久| 成人丝袜18视频在线观看| 色天天综合色天天久久| 欧美一区二区三区在线视频| 欧美一区二区播放| 欧美性大战久久| 久久综合久久综合久久综合| 一区二区三区视频在线看| 亚洲福利国产精品| 成人性生交大片免费看视频在线 | caoporn国产精品| 欧美色图天堂网| 国产精品素人一区二区| 日韩av中文字幕一区二区三区| 成a人片亚洲日本久久| 日韩欧美精品三级| 亚洲国产成人av网| av一区二区三区| 久久免费电影网| 国产原创一区二区三区| 在线播放中文字幕一区| 一片黄亚洲嫩模| 91日韩精品一区| 中文字幕亚洲欧美在线不卡| 亚洲精品成人a在线观看| jlzzjlzz欧美大全| 国产亚洲成aⅴ人片在线观看| 青青草一区二区三区| 在线综合视频播放| 日本不卡一区二区| 欧美一区二区三区在线看| 日韩不卡手机在线v区| 91精品国产综合久久久久久 | 91精品国产综合久久精品 | 日本黄色一区二区| 亚洲乱码日产精品bd| 欧美日韩精品欧美日韩精品| 亚洲愉拍自拍另类高清精品| 欧美性受xxxx| 久久激情综合网| 中文av一区特黄| 99久久精品费精品国产一区二区| 国产日韩影视精品| 色综合色综合色综合色综合色综合| 亚洲三级免费观看| 欧美一区三区四区| 国产69精品久久777的优势| 夜夜精品视频一区二区 | 日本不卡一区二区| 亚洲国产精品精华液2区45| 色综合中文字幕| 美女mm1313爽爽久久久蜜臀| 日韩毛片精品高清免费| 日韩欧美资源站| 欧美久久久久久蜜桃| 成人免费视频一区| 久久精品理论片| 视频一区国产视频| 国产精品久久久久一区| 欧美二区在线观看| 日本道色综合久久| 美女一区二区久久| 亚洲欧洲另类国产综合| 精品国产凹凸成av人导航| 色婷婷激情综合| 91色porny蝌蚪| 成人午夜av在线| 国产91在线|亚洲| 国产一区二区主播在线| 麻豆成人久久精品二区三区红| 一区二区激情小说| 亚洲自拍偷拍欧美| 夜夜嗨av一区二区三区网页| 亚洲精品日韩综合观看成人91| 久久久久久麻豆| 欧美高清在线视频| 国产精品精品国产色婷婷| 国产精品不卡一区| 亚洲午夜成aⅴ人片| 亚洲国产视频一区| 日韩电影在线观看电影| 免费一区二区视频| 国产在线国偷精品产拍免费yy| 黑人巨大精品欧美一区| 奇米精品一区二区三区在线观看| 亚洲精品视频一区二区| 亚洲一区二区三区四区在线观看 | 色综合天天综合色综合av | 亚洲成人午夜影院| 精品一区二区三区在线视频| 国产一区二区福利视频| 日韩三级精品电影久久久| 91精品蜜臀在线一区尤物| 欧美videos大乳护士334| 中文字幕乱码亚洲精品一区| 亚洲精品国产一区二区三区四区在线| 亚洲六月丁香色婷婷综合久久| 日本怡春院一区二区| 成人黄动漫网站免费app| 欧美日韩国产高清一区| 国产精品免费观看视频| 精品在线亚洲视频| 成人高清伦理免费影院在线观看| 色狠狠综合天天综合综合| 欧美xfplay| 久久精品国产第一区二区三区| 成人av网站免费| 欧美激情一区三区| 国产在线观看免费一区| 欧美日韩一区在线观看| 亚洲视频网在线直播| 国产专区欧美精品| 久久伊人中文字幕| 久久er99精品| 精品sm捆绑视频| 狠狠色丁香久久婷婷综| 日韩一区二区麻豆国产| 美女尤物国产一区| 日韩精品一区二区三区中文不卡 | 成人做爰69片免费看网站| 亚洲精品一线二线三线无人区| 日韩精品亚洲专区| 精品国产凹凸成av人网站| 精品系列免费在线观看| 久久网站最新地址| 国产大陆a不卡| 精品久久人人做人人爱| 国产精品一区二区三区网站| 亚洲精品一区二区三区蜜桃下载 | 亚洲小说春色综合另类电影| 91成人国产精品| 亚洲妇熟xx妇色黄| 91精品国产综合久久婷婷香蕉 | 精品日韩成人av| 成人不卡免费av| 日韩专区欧美专区| 国产三级精品视频| 欧美精选一区二区| 成人午夜免费电影| 美女任你摸久久| 亚洲精品日韩一| 久久精品网站免费观看| 欧美综合在线视频| 9人人澡人人爽人人精品| 午夜a成v人精品| 精品国产电影一区二区| 在线观看亚洲专区| 国产成人免费视频精品含羞草妖精| 亚洲一区免费视频| 国产日韩欧美精品电影三级在线| 宅男噜噜噜66一区二区66| 成年人国产精品| 国产宾馆实践打屁股91| 日av在线不卡| 麻豆精品视频在线| 日韩影院免费视频| 亚洲精品视频免费看| 亚洲欧美一区二区三区孕妇| 国产日本欧美一区二区| 欧美一区二区三区影视| 91精品国产综合久久久久久| 欧美日韩在线一区二区| 欧美日韩国产精选| 欧美一级高清片在线观看| 欧美精品在线观看播放| 欧美一区二区日韩一区二区| 欧美人牲a欧美精品| 欧美一区二区网站| 久久久久久亚洲综合影院红桃| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 亚洲国产高清不卡| 亚洲欧美在线观看| 亚洲va韩国va欧美va精品| 亚洲一区视频在线| 麻豆精品国产91久久久久久| 日日夜夜免费精品视频| 韩日av一区二区| 91在线国内视频| 欧美精品三级日韩久久| 欧美成人r级一区二区三区| 久久精品人人做| 一区二区日韩电影| 精品一区二区三区日韩| 91在线看国产| 久久亚洲二区三区| 一区二区三区精品视频| 美女一区二区久久| 色欧美乱欧美15图片|