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

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

?? micro.c

?? 友善mini2440嵌入式
?? 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一区二区三区免费野_久草精品视频
婷婷一区二区三区| 久久国产麻豆精品| 欧美大片在线观看一区二区| 高清shemale亚洲人妖| 一二三区精品视频| 精品国产1区二区| 色老头久久综合| 国产在线国偷精品免费看| 亚洲欧美日韩国产综合在线| 欧美成人免费网站| 色网综合在线观看| 国产成人av电影在线观看| 五月天婷婷综合| 洋洋成人永久网站入口| 久久久久久电影| 欧美成人a视频| 欧美男男青年gay1069videost| 成人性生交大合| 日韩av一级电影| 亚洲一线二线三线视频| 国产欧美一区二区精品久导航 | 精品视频在线视频| 成人网在线免费视频| 午夜av电影一区| 国产精品久久久久永久免费观看| 日韩精品一区二区三区老鸭窝| 欧美日韩一区 二区 三区 久久精品| 成人a区在线观看| 国产精品一区专区| 麻豆精品国产传媒mv男同| 一区2区3区在线看| 亚洲精品国久久99热| 中文字幕av一区 二区| 精品国产乱码久久久久久夜甘婷婷 | 亚洲第一主播视频| 亚洲猫色日本管| 中文字幕亚洲区| 国产精品免费丝袜| 久久久不卡网国产精品一区| 日韩一区二区电影在线| 欧美疯狂做受xxxx富婆| 欧美三电影在线| 欧美日韩极品在线观看一区| 色94色欧美sute亚洲线路一久| 色噜噜狠狠成人网p站| 91蝌蚪国产九色| 色菇凉天天综合网| 色呦呦一区二区三区| 成人激情校园春色| 97精品久久久午夜一区二区三区| 成人激情免费视频| 成人精品gif动图一区| 99v久久综合狠狠综合久久| 成人综合在线观看| 菠萝蜜视频在线观看一区| 成人精品免费视频| 97aⅴ精品视频一二三区| 91麻豆自制传媒国产之光| 色综合天天在线| 欧美日韩国产电影| 日韩亚洲欧美一区二区三区| 欧美成人性福生活免费看| 久久久久久久综合狠狠综合| 国产日产欧美一区二区三区| 国产精品久久久一区麻豆最新章节| ㊣最新国产の精品bt伙计久久| 一区二区三区欧美| 午夜日韩在线观看| 麻豆成人综合网| 波多野结衣的一区二区三区| 91麻豆免费观看| 欧美日韩亚洲综合| 日韩精品一区二区在线观看| 久久―日本道色综合久久| 欧美国产成人在线| 亚洲黄色小视频| 三级亚洲高清视频| 久久99国产乱子伦精品免费| 夫妻av一区二区| 欧美日韩精品电影| 国产午夜精品一区二区三区四区| 一区二区三区四区乱视频| 五月天欧美精品| 成人激情文学综合网| 欧美日韩不卡一区| 欧美韩日一区二区三区四区| 一区二区三区毛片| 麻豆91在线看| 日本道在线观看一区二区| 欧美日韩电影在线| 国产精品伦一区| 日韩电影一区二区三区四区| 国产九色精品成人porny| 欧美在线啊v一区| 国产亚洲一区二区三区| 依依成人精品视频| 国产伦精品一区二区三区免费| 色婷婷久久久亚洲一区二区三区| 精品剧情在线观看| 亚洲免费成人av| 国产盗摄一区二区| 欧美日韩久久一区二区| 国产女人18毛片水真多成人如厕| 亚洲第一久久影院| 成人精品一区二区三区中文字幕| 91精品国产入口在线| 国产精品高潮呻吟| 精品一区二区在线视频| 日本二三区不卡| 国产精品激情偷乱一区二区∴| 蜜桃av一区二区三区电影| 一本色道a无线码一区v| 久久久久久久免费视频了| 日精品一区二区三区| 色综合久久久久网| 国产精品日日摸夜夜摸av| 久久国产精品99精品国产| 欧日韩精品视频| 国产精品久久久久婷婷| 精品一区二区日韩| 91麻豆精品国产自产在线| 亚洲免费色视频| 99国产精品99久久久久久| 国产无一区二区| 国产永久精品大片wwwapp| 欧美日韩精品免费| 亚洲综合久久av| 日本丶国产丶欧美色综合| 国产精品蜜臀av| 高清在线不卡av| 国产拍欧美日韩视频二区| 久久精品国产免费看久久精品| 678五月天丁香亚洲综合网| 一区二区三区资源| 色婷婷精品久久二区二区蜜臂av| 国产精品白丝在线| 国产成人在线色| 中文字幕第一区综合| 国产精品18久久久| 欧美国产日韩在线观看| 国产盗摄一区二区三区| 国产亚洲综合性久久久影院| 国产精品99久久久久久有的能看| 久久久久久久久久看片| 国产剧情在线观看一区二区| 久久久99精品免费观看不卡| 国产毛片一区二区| 久久久亚洲精品一区二区三区| 国产福利91精品| 美女mm1313爽爽久久久蜜臀| 日韩一区二区三区电影在线观看 | 欧美羞羞免费网站| 亚洲一区二区影院| 亚洲成人精品影院| 免费一区二区视频| 国产一区二区调教| 91色九色蝌蚪| 色综合久久久久综合| 国产欧美一区二区精品久导航| 在线免费观看日本欧美| 日韩电影一区二区三区| 欧美激情在线看| 制服视频三区第一页精品| 国产成+人+日韩+欧美+亚洲| 亚洲电影一级黄| 欧美国产禁国产网站cc| 69堂成人精品免费视频| 成人av电影免费观看| 日本91福利区| 一区二区三区在线免费播放| 337p粉嫩大胆噜噜噜噜噜91av| 色婷婷久久久亚洲一区二区三区 | 男男成人高潮片免费网站| 国产欧美一区在线| 欧美一级二级三级蜜桃| 91一区二区在线观看| 精品影视av免费| 亚洲成人一二三| 国产精品高清亚洲| 久久毛片高清国产| 欧美精品丝袜久久久中文字幕| 99久久国产综合色|国产精品| 久久不见久久见中文字幕免费| 亚洲一级二级在线| 国产精品美女久久久久aⅴ| 91精品国产高清一区二区三区蜜臀 | 亚洲无线码一区二区三区| 国产亚洲欧美中文| 日韩西西人体444www| 色av一区二区| 91女神在线视频| 成人免费高清视频在线观看| 久久成人18免费观看| 日韩国产高清影视| 亚洲一区二区三区小说| 中文字幕亚洲电影| 亚洲国产精品二十页| 337p粉嫩大胆色噜噜噜噜亚洲| 日韩无一区二区| 3d成人h动漫网站入口|