⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lxfxp2.cpp

📁 系统通过JTAG接口烧结挂接在LXFXP2 上的s29gl256N的FLASH的代码,
💻 CPP
📖 第 1 页 / 共 2 页
字号:
    1,  // nDTRB_OUT       PTOUT(43)   observe_only
    1,  // TXCAEN              PTOUT(2)
//220
    1,  // TXCA_OUT        PTOUT(2) out enable
    1,  // TXCA_IN           PTOUT(2)   observe_only
    1,  // nSYNCA_OUT         PTOUT(1)
    1,  // RXCA_IN         PTOUT(1) out enable
    1,  // nDCDA_IN        PTOUT(1)   observe_only
    1,  // nCTSA_IN              PTOUT(0)
    1,  // TXDA_OUT          PTOUT(0) out enable
    1,  // nRTSA_OUT          PTOUT(0)   observe_only
    1,  // RXDA_IN            PEXTCLK  observe_only
    1,  // nDTRA_OUT          PIICSCL
//230
    1,  // nUADSR1_OUT         PIICSCL  observe_only
    1,  // UATXD1_OUT          PIICSDA
    1 ,  // nUADTR1_IN        PIICSDA  observe_only
     1,  // RXCA_IN           PSIOTXD
    1,  // nDCDA_IN           PSIOTXD  out enable
    1,  // nCTSA_IN            PSIOTXD  observe_only
    1,  // TXDA_OUT           PSIORDY
    1,  // nRTSA_OUT           PSIORDY   out enable
    1,  // RXDA_IN               PSIORDY  observe_only
    1,  // nDTRA_OUT         PSIORXD
//240
    1,  // nUADSR1_OUT    PSIORXD         out enable
    1,  // UATXD1_OUT        PSIORXD  observe_only
    1 ,  // nUADTR1_IN   PSIOCLK
    1,  // RXCA_IN        PSIOCLK   out enable
    1,  // nDCDA_IN         PSIOCLK  observe_only
    1,  // nCTSA_IN        PENDIAN
    1,  // TXDA_OUT         PENDIAN  out enable
    1,  // nRTSA_OUT         PENDIAN  observe_only
    1,  // RXDA_IN           internal
    1,  // nDTRA_OUT           internal
//250
    1,  // nUADSR1_OUT      internal
    1,  // UATXD1_OUT         internal
    1  , // nUADTR1_IN        PNRESET    observe_only
    1,  // nDTRA_OUT           PCLKOUT
    1,  // nUADSR1_OUT          PCLKOUT  out enable
    1,  // UATXD1_OUT           PCLKOUT    observe_only
    1,   // nUADTR1_IN 
	1,
	1,
	1,
//260
    1,  // nUADSR1_OUT    PSIORXD         out enable
    1,  // UATXD1_OUT        PSIORXD  observe_only
    1 ,  // nUADTR1_IN   PSIOCLK
    1,  // RXCA_IN        PSIOCLK   out enable
    1,  // nDCDA_IN         PSIOCLK  observe_only
    1,  // nCTSA_IN        PENDIAN
    1,  // TXDA_OUT         PENDIAN  out enable
    1,  // nRTSA_OUT         PENDIAN  observe_only
    1,  // RXDA_IN           internal
    1,  // nDTRA_OUT           internal	
//270
    1,  // nUADSR1_OUT    PSIORXD         out enable
    1,  // UATXD1_OUT        PSIORXD  observe_only
    1 ,  // nUADTR1_IN   PSIOCLK
    1,  // RXCA_IN        PSIOCLK   out enable
    1,  // nDCDA_IN         PSIOCLK  observe_only
    1,  // nCTSA_IN        PENDIAN
    1,  // TXDA_OUT         PENDIAN  out enable
    1,  // nRTSA_OUT         PENDIAN  observe_only
    1,  // RXDA_IN           internal
    1,  // nDTRA_OUT           internal    
//280
    1,  // nUADSR1_OUT    PSIORXD         out enable
    1,  // UATXD1_OUT        PSIORXD  observe_only
    1 ,  // nUADTR1_IN   PSIOCLK
    1,  // RXCA_IN        PSIOCLK   out enable
    1,  // nDCDA_IN         PSIOCLK  observe_only
    1,  // nCTSA_IN        PENDIAN
    1,  // TXDA_OUT         PENDIAN  out enable
    1,  // nRTSA_OUT         PENDIAN  observe_only
    1,  // RXDA_IN           internal
    1,  // nDTRA_OUT           internal    
//290
    1,  // nUADSR1_OUT    PSIORXD         out enable
    1,  // UATXD1_OUT        PSIORXD  observe_only
    1 ,  // nUADTR1_IN   PSIOCLK
    1,  // RXCA_IN        PSIOCLK   out enable
    1,  // nDCDA_IN         PSIOCLK  observe_only
    1,  // nCTSA_IN        PENDIAN
    1,  // TXDA_OUT         PENDIAN  out enable
    1,  // nRTSA_OUT         PENDIAN  observe_only
    1,  // RXDA_IN           internal
    1,  // nDTRA_OUT           internal 
//300
    1,  // nUADSR1_OUT    PSIORXD         out enable
    1,  // UATXD1_OUT        PSIORXD  observe_only
    1 ,  // nUADTR1_IN   PSIOCLK
    1,  // RXCA_IN        PSIOCLK   out enable
    1,  // nDCDA_IN         PSIOCLK  observe_only
    1,  // nCTSA_IN        PENDIAN
    1,  // TXDA_OUT         PENDIAN  out enable
    1,  // nRTSA_OUT         PENDIAN  observe_only
    1,  // RXDA_IN           internal
    1,  // nDTRA_OUT           internal
//310
    1,  // nUADSR1_OUT    PSIORXD         out enable
    1,  // UATXD1_OUT        PSIORXD  observe_only
    1 ,  // nUADTR1_IN   PSIOCLK
    1,  // RXCA_IN        PSIOCLK   out enable
    1,  // nDCDA_IN         PSIOCLK  observe_only
    1,  // nCTSA_IN        PENDIAN
    1,  // TXDA_OUT         PENDIAN  out enable
    1,  // nRTSA_OUT         PENDIAN  observe_only
    1,  // RXDA_IN           internal
    1,  // nDTRA_OUT           internal
//320
    1,  // nUADSR1_OUT    PSIORXD         out enable
    1,  // UATXD1_OUT        PSIORXD  observe_only
    1 ,  // nUADTR1_IN   PSIOCLK
    1,  // RXCA_IN        PSIOCLK   out enable
    1,  // nDCDA_IN         PSIOCLK  observe_only
    1,  // nCTSA_IN        PENDIAN
    1,  // TXDA_OUT         PENDIAN  out enable
    1,  // nRTSA_OUT         PENDIAN  observe_only
    1,  // RXDA_IN           internal
    1,  // nDTRA_OUT           internal  
//330
    1,  // nUADSR1_OUT    PSIORXD         out enable
    1,  // UATXD1_OUT        PSIORXD  observe_only
    1 ,  // nUADTR1_IN   PSIOCLK
    1,  // RXCA_IN        PSIOCLK   out enable
    1,  // nDCDA_IN         PSIOCLK  observe_only
    1,  // nCTSA_IN        PENDIAN
    1,  // TXDA_OUT         PENDIAN  out enable
    1,  // nRTSA_OUT         PENDIAN  observe_only
    1,  // RXDA_IN           internal
    1,  // nDTRA_OUT           internal
//340
    1,  // nUADSR1_OUT    PSIORXD         out enable
    1,  // UATXD1_OUT        PSIORXD  observe_only
    1 ,  // nUADTR1_IN   PSIOCLK
    1,  // RXCA_IN        PSIOCLK   out enable
    1,  // nDCDA_IN         PSIOCLK  observe_only
    1,  // nCTSA_IN        PENDIAN
    1,  // TXDA_OUT         PENDIAN  out enable
    1,  // nRTSA_OUT         PENDIAN  observe_only
    1,  // RXDA_IN           internal
    1,  // nDTRA_OUT           internal
//350
    1,  // nUADSR1_OUT    PSIORXD         out enable
    1,  // UATXD1_OUT        PSIORXD  observe_only
    1 ,  // nUADTR1_IN   PSIOCLK
    1,  // RXCA_IN        PSIOCLK   out enable
    1,  // nDCDA_IN         PSIOCLK  observe_only
    1,  // nCTSA_IN        PENDIAN
    1,  // TXDA_OUT         PENDIAN  out enable
    1,  // nRTSA_OUT         PENDIAN  observe_only
    1,  // RXDA_IN           internal
    1,  // nDTRA_OUT           internal      
//360
    1,  // nUADSR1_OUT    PSIORXD         out enable
    1,  // UATXD1_OUT        PSIORXD  observe_only
    1 ,  // nUADTR1_IN   PSIOCLK
    1,  // RXCA_IN        PSIOCLK   out enable
    1,  // nDCDA_IN         PSIOCLK  observe_only
    1,  // nCTSA_IN        PENDIAN
    1,  // TXDA_OUT         PENDIAN  out enable
    1,  // nRTSA_OUT         PENDIAN  observe_only
    1,  // RXDA_IN           internal
    1,  // nDTRA_OUT           internal
//370
    1,  // nUADSR1_OUT    PSIORXD         out enable
    1,  // UATXD1_OUT        PSIORXD  observe_only
    1 ,  // nUADTR1_IN   PSIOCLK
    1,  // RXCA_IN        PSIOCLK   out enable
    1,  // nDCDA_IN         PSIOCLK  observe_only
    1,  // nCTSA_IN        PENDIAN
    1,  // TXDA_OUT         PENDIAN  out enable
    1,  // nRTSA_OUT         PENDIAN  observe_only
    1,  // RXDA_IN           internal
    1,  // nDTRA_OUT           internal
//380
    1,  // nUADSR1_OUT    PSIORXD         out enable
    1,  // UATXD1_OUT        PSIORXD  observe_only
    1 ,  // nUADTR1_IN   PSIOCLK
    1,  // RXCA_IN        PSIOCLK   out enable
    1,  // nDCDA_IN         PSIOCLK  observe_only
    1,  // nCTSA_IN        PENDIAN
    1,  // TXDA_OUT         PENDIAN  out enable
    1,  // nRTSA_OUT         PENDIAN  observe_only
    1,  // RXDA_IN           internal
    1,  // nDTRA_OUT           internal      
//390
    1,  // nUADSR1_OUT    PSIORXD         out enable
    1,  // UATXD1_OUT        PSIORXD  observe_only
    1 ,  // nUADTR1_IN   PSIOCLK
    1,  // RXCA_IN        PSIOCLK   out enable
    1,  // nDCDA_IN         PSIOCLK  observe_only
    1,  // nCTSA_IN        PENDIAN
    1,  // TXDA_OUT         PENDIAN  out enable
    1,  // nRTSA_OUT         PENDIAN  observe_only
    1//,  // RXDA_IN           internal
    //1,  // nDTRA_OUT           internal                         
};

/**********************************************************************
 * 调试测试函数实现
 **********************************************************************/
DWORD LXFXP2_bus2_test(int cs, int r, int w, DWORD address, DWORD data)
{
    int out_dat[LXFXP25E208_CHAIN_LENGTH], i;
    DWORD li, busdat = 0;
    
    if(cs)
    {
    	//设置所有引脚为初始化VALUE;   
    	pin[CPU_FALSH_CS]       = 1;
    	pin[CPU_FALSH_CS_ENB]   = 1;
    }
    else
    {
     	//设置所有引脚为初始化VALUE;   
    	pin[CPU_FALSH_CS]       = 0;
    	pin[CPU_FALSH_CS_ENB]   = 1;   		
    }    	
    
    if(r)
    {
    	pin[CPU_FALSH_RD]       = 1;
    	pin[CPU_FALSH_RD_ENB]   = 1;
    }
    else
    {
    	pin[CPU_FALSH_RD]       = 0;
    	pin[CPU_FALSH_RD_ENB]   = 1; 		
    }    	
        
    if(w)
    {
    	pin[CPU_FALSH_WE]       = 1;
    	pin[CPU_FALSH_WE_ENB]   = 1;
    }
    else
    {
    	pin[CPU_FALSH_WE]       = 0;
    	pin[CPU_FALSH_WE_ENB]   = 1;		
    }     

	if(address)
	{
    	//设置地址开始
    	pin[addresspin[0]]      = 0;    //两个字节对齐
    	pin[addresspin_enb[0]]  = 1;    //两个字节对齐
    	
    	for(i=0; i<25; i++)
    	{
    	    pin[addresspin[i]]      = (int)((address >> i) & 1);  
    	    pin[addresspin_enb[i]]  = (int)(1);                 
    	} 
    }
    
    if(data)    
    {
    	for(li = 0L; li < 16L; li++)    //设置D0-D15
    	{
    	    pin[datapin[li]] = (int)((data >> li) & 1L);  // serialize data pins
    	    pin[datapin_enb[li]] = (int)(1L);  				  // serialize data pins            
    	}    
	}
	
    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,0,IP);   // capture DR
    putp(1,0,IP);   // shift IR

    for(i = 0; i < LXFXP25E208_CHAIN_LENGTH; i++)    // shift write data in to JTAG port and read data out
    {
        out_dat[i] = putp(pin[i],0,1);
    }

    putp(0,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

    busdat = 0;
    for(i = 0; i < CPU_DATA_BITS_NUMBERS; i++)  // convert serial data to single WORD   
    {  
        busdat = busdat | (WORD)(out_dat[datapin[i]] << i);  
    }  
    
    extest();  
    
    return(busdat);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -