📄 lxfxp2.cpp
字号:
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 + -