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

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

?? jtag_operates.cpp

?? 系統(tǒng)通過JTAG接口燒結掛接在LXFXP2 上的s29gl256N的FLASH的代碼,
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/***********************************************************************/   
/*                                                                     */   
/* Module Name   : TJAG OPERS                                          */   
/*                                                                     */   
/* Description   : Implementation of a flash module for the            */   
/*                 TJAG OPERS .                                        */   
/*                                                                     */   
/*                                                                     */   
/* Document Ref. : - Datasheets for the TJAG OPERS                     */   
/*                                                                     */   
/* Function List : Exported                                            */   
/* Note          :                                                     */   
/*                                                                     */   
/* modification history :                                              */   
/***********************************************************************/  
                 
/***********************************************************************
* 頭文件包含
***********************************************************************/
#include "stdafx.h"
#include <windows.h> 
#include "Jtag_operates.h"
#include "LXFXP2.h"

/***********************************************************************
* 變量定義
***********************************************************************/
int lpt_address = 0;

/***********************************************************************
* 內(nèi)部函數(shù)聲明
***********************************************************************/
WORD access_rom(int rw, DWORD address, WORD data, int rp);


/***********************************************************************
* 函數(shù)實現(xiàn)定義
***********************************************************************/

/**********************************************************************
* 功      能:test_port - 尋找有效并口
* 函 數(shù)參 數(shù):是否顯示
* 返  回  值: 并口地址
* 函 數(shù) 原形:
***********************************************************************/
unsigned short test_port(bool display = false)
{
    // search for valid parallel port
    lpt_address = 0;

    OUTB(LPT1, 0x55);
    if(INB(LPT1) == 0x55)  
    {
    	lpt_address = LPT1;
		if(display)
			AfxMessageBox("LPT1");
    }

    OUTB(LPT2, 0x55);
    if(INB(LPT2) == 0x55) 
	{
    	lpt_address = LPT2;
		if(display)
			AfxMessageBox("LPT2");
    }	

	OUTB(LPT3, 0x55);
    if(INB(LPT3) == 0x55)  
	{
    	lpt_address = LPT3;
		if(display)
			AfxMessageBox("LPT3");
    }

    return(lpt_address);
}

/**********************************************************************
* 功      能:reset_jtag - reset jtag 口
* 函 數(shù)參 數(shù):無
* 返  回  值: 無
* 函 數(shù) 原形:
* 注      意:有些系統(tǒng)中支持TRST,有些不支持,該系統(tǒng)不支持
***********************************************************************/
void reset_jtag(void)                  
{   
	int i =0;
	//在TMS上連續(xù)加5個TCK脈沖寬度的“1”信號也可以對測試邏輯電路
	//進行復位,使得TAP Controller進入Test-Logic Reset狀態(tài)。
    for( i=0; i<6; i++) 
    {
    	putp(1,1,IP);   // move to TEST_LOGIC/RESET
    }
    	
    putp(1,0,IP);       // move to Run_Test/Idle
}

/**********************************************************************
* 功      能:extest - 進入外部測試模式,可以操作外部引腳
* 函 數(shù)參 數(shù):無
* 返  回  值: 無
* 函 數(shù) 原形:
* 注      意:
***********************************************************************/
void extest(void)
{
    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,1,IP);   //select IR scan
    putp(1,0,IP);   //capture IR
    putp(1,0,IP);   //shift IR

	for(int i= 0; i< (LXFXP25E208_INSTRUC_LENGTH-1); i++ )
	{
    	putp( ((EXTEST>>i)&1) ,0,IP);   //S3C4510 extest		
	}
    putp((EXTEST >> (LXFXP25E208_INSTRUC_LENGTH-1))&1,1,IP);   //Exit1-IR

    putp(1,1,IP);   //Update-IR
    putp(1,0,IP);   //Run-Test/Idle
    putp(1,0,IP);   //Run-Test/Idle
    putp(1,0,IP);   //Run-Test/Idle
}

/**********************************************************************
* 功      能:check_id - 測試IDCODE
* 函 數(shù)參 數(shù):無
* 返  回  值: 無
* 函 數(shù) 原形:
* 注      意:
***********************************************************************/
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;
    int i;

    for(i = LXFXP2_IDCODE_LENGTH; i >= 0; i--)
    {
        if(i == 4 || i == 21 )
        {
            in_id[i] = ' ';
            i--;
        }
        
        if(putp(1,0,RP) == 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)
    {
    	int   count = 0;
    	char  buffer[200] ={ 0 };
    	    	
    	count = sprintf(buffer, "Read device ID ERR,ACT:%s,EXP:%s\n",in_id,device_id);
    	buffer[count]  = '\0' ;   	    	  	

		//AfxMessageBox(buffer);

        return -1;
    }
#if 0
    if(!strcmp(device_id,LXFXP25E208ID)) // print S3C4510 device revision
    {
    	int   count = 0;
    	char  buffer[40] ={ 0 };
    	    	
        int s3c_rev =
            (int)(in_id[0] - '0') * 8 +
            (int)(in_id[1] - '0') * 4 +
            (int)(in_id[2] - '0') * 2 +
            (int)(in_id[3] - '0');
   	    	
    	count = sprintf(buffer, "LXFXP25E208 revision %d\n",s3c_rev);
    	buffer[count]  = '\0' ;   	    	  	

		AfxMessageBox(buffer);            
    } 
#endif       
    return 0;
}

/**********************************************************************
* 功      能:id_command - 準備測試IDCODE
* 函 數(shù)參 數(shù):無
* 返  回  值: 無
* 函 數(shù) 原形:
* 注      意:
***********************************************************************/
void id_command(void)
{
    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);
    putp(1,1,IP);   //select IR scan
    putp(1,0,IP);   //capture IR
    putp(1,0,IP);   //shift IR
    
    //IDCODE LSB First
	for(int i= 0; i< (LXFXP25E208_INSTRUC_LENGTH-1); i++ )
	{
    	putp( ((IDCODE>>i)&1) ,0,IP);   		
	}
    putp((IDCODE >> (LXFXP25E208_INSTRUC_LENGTH-1))&1,1,IP);   //Exit1-IR    

    putp(1,1,IP);   //Update-IR
    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

    if(check_id(LXFXP25E208ID))
	{
        AfxMessageBox("failed to read device ID for the LXFXP25E208");
    }

    putp(1,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
}

/**********************************************************************
* 功      能:LPT_initialization - 一切操作執(zhí)行之前,必須調(diào)用
* 函 數(shù)參 數(shù):無
* 返  回  值: 無
* 函 數(shù) 原形:
* 注      意:
***********************************************************************/
void LPT_initialization()
{
    int lpt_addr = 0;
    
	lpt_addr = test_port(false);  // find a valid parallel port address

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品人人做人人爽| 欧美日韩日本视频| 国产精品丝袜在线| 国产精品久久久久一区二区三区| 亚洲综合久久久| 成人综合婷婷国产精品久久| 欧美顶级少妇做爰| 一区二区三区国产精华| 国产激情一区二区三区四区| 日韩一区二区中文字幕| 亚洲高清一区二区三区| 91性感美女视频| 中文字幕精品一区二区精品绿巨人 | 欧美国产乱子伦 | 久久电影国产免费久久电影| 色哟哟亚洲精品| 国产精品视频免费| 精品一区二区三区视频在线观看| 欧美优质美女网站| 亚洲精品国产高清久久伦理二区| 成人午夜视频在线观看| 久久久亚洲精华液精华液精华液 | 懂色av噜噜一区二区三区av| 精品少妇一区二区三区在线视频| 天堂久久一区二区三区| 欧美久久久久久久久| 亚洲成av人影院| 欧美日韩国产123区| 亚洲观看高清完整版在线观看| 91看片淫黄大片一级在线观看| 亚洲欧美精品午睡沙发| 91麻豆免费观看| 亚洲日本一区二区| 欧美日韩中文字幕一区| 亚洲国产综合91精品麻豆| 欧美三级视频在线观看| 午夜久久久久久| 91超碰这里只有精品国产| 日韩av电影免费观看高清完整版| 欧美一区二区在线不卡| 久久99精品国产麻豆婷婷洗澡| 欧美xxxx老人做受| 粉嫩av一区二区三区在线播放| 国产精品毛片无遮挡高清| 92国产精品观看| 亚洲国产一区二区三区| 日韩天堂在线观看| 成人天堂资源www在线| 国产精品成人免费在线| 在线观看视频一区二区欧美日韩| 亚洲成人精品一区| 精品对白一区国产伦| 成人av在线一区二区| 亚洲在线观看免费| 欧美一区二区三区四区五区| 狠狠色丁香婷婷综合| 日韩美女视频一区二区| 91精品国产乱码久久蜜臀| 国产在线精品一区二区三区不卡| 自拍偷拍欧美精品| 日韩一区二区三| 99视频在线精品| 91丨九色丨黑人外教| 亚洲成人在线观看视频| 久久久久久久久久久电影| 99久久精品一区二区| 免费日韩伦理电影| 中文字幕亚洲综合久久菠萝蜜| 欧美无乱码久久久免费午夜一区| 九色综合狠狠综合久久| 亚洲综合色网站| 国产欧美日产一区| 在线成人高清不卡| 99久久久免费精品国产一区二区| 日欧美一区二区| 国产精品传媒入口麻豆| 精品美女在线观看| 欧美区在线观看| 91在线观看高清| 国产激情视频一区二区三区欧美 | 奇米影视在线99精品| 国产精品久久久久久久久搜平片| 日韩一卡二卡三卡四卡| 91麻豆国产自产在线观看| 国产麻豆精品theporn| 日日骚欧美日韩| 亚洲一区二区在线视频| 中文字幕在线不卡视频| 精品美女在线播放| 欧美久久高跟鞋激| 欧美在线你懂得| 色视频一区二区| 91天堂素人约啪| jlzzjlzz亚洲女人18| 国内精品嫩模私拍在线| 日本不卡1234视频| 午夜国产精品一区| 久久综合给合久久狠狠狠97色69| 欧美一级精品在线| 91麻豆精东视频| 成人国产精品免费观看视频| 久久精品国产精品亚洲精品| 欧美aaa在线| 日本在线不卡一区| 午夜亚洲福利老司机| 亚洲一线二线三线视频| 亚洲欧美日韩综合aⅴ视频| 中文字幕中文在线不卡住| 国产亚洲va综合人人澡精品 | 国产欧美一区二区精品性| 欧美一级黄色大片| 欧美一区二区三区免费观看视频 | 日本一区二区电影| 久久久不卡网国产精品二区| 久久亚洲精华国产精华液| 日韩欧美另类在线| 久久夜色精品国产噜噜av| 久久久噜噜噜久久中文字幕色伊伊 | 粉嫩欧美一区二区三区高清影视 | 毛片av一区二区| 蜜臀av一区二区在线免费观看| 免费在线观看视频一区| 久久99精品久久只有精品| 国产在线播精品第三| 国产成人在线视频播放| www.爱久久.com| 91黄色激情网站| 欧美军同video69gay| 欧美大肚乱孕交hd孕妇| 国产日韩欧美a| 亚洲人123区| 天天影视网天天综合色在线播放| 日韩黄色小视频| 国产麻豆精品theporn| 99久久亚洲一区二区三区青草| 色香蕉成人二区免费| 欧美美女一区二区三区| 欧美精品一区视频| 成人免费在线观看入口| 污片在线观看一区二区| 国产一区二区免费在线| 成人午夜视频免费看| 欧美在线免费观看视频| 欧美成人精品二区三区99精品| 国产精品乱码人人做人人爱| 亚洲高清久久久| 国产精品主播直播| 在线看国产一区| 久久天天做天天爱综合色| 亚洲欧美激情小说另类| 美脚の诱脚舐め脚责91| 97aⅴ精品视频一二三区| 日韩精品一区二| 亚洲欧美一区二区久久| 久久国产精品72免费观看| 成人黄色免费短视频| 欧美一区二区三区视频在线观看| 亚洲国产精品精华液2区45| 亚洲国产精品一区二区久久恐怖片 | 粉嫩嫩av羞羞动漫久久久| 欧美在线观看视频在线| 久久久www成人免费毛片麻豆| 亚洲午夜国产一区99re久久| 国产成人啪免费观看软件 | 久久综合色一综合色88| 一区二区三区成人在线视频| 国内精品写真在线观看| 欧美福利电影网| 中文字幕日韩av资源站| 国产一区不卡精品| 欧美一区中文字幕| 亚洲国产一区二区三区| 成人国产一区二区三区精品| 日韩女同互慰一区二区| 亚洲国产精品精华液网站| 99视频一区二区| 中文在线资源观看网站视频免费不卡| 日韩精品一二三| 欧美三级在线视频| 亚洲色图欧美激情| a4yy欧美一区二区三区| 久久久久久久久久久黄色| 久久精品av麻豆的观看方式| 欧美精品少妇一区二区三区| 一区二区三区免费网站| 92国产精品观看| 亚洲人亚洲人成电影网站色| 国产精品资源在线观看| 久久午夜电影网| 国产精品自拍毛片| 国产午夜精品久久| 国产美女一区二区三区| 久久久.com| 国产传媒久久文化传媒| 久久精品亚洲乱码伦伦中文| 国产福利精品导航| 国产精品污网站| 一本久久a久久精品亚洲| 日韩美女久久久| 欧美色窝79yyyycom|