📄 csl_tcp.h
字号:
/*----------------------------------------------------------------------------*/
IDEF void TCP_unpause(){
TCP_FSET(EXE,UNPAUSE,1);
}
/*----------------------------------------------------------------------------*/
IDEF void TCP_reset(){
TCP_RSET(IC0,TCP_IC0_DEFAULT);
TCP_RSET(IC1,TCP_IC1_DEFAULT);
TCP_RSET(IC2,TCP_IC2_DEFAULT);
TCP_RSET(IC3,TCP_IC3_DEFAULT);
TCP_RSET(IC4,TCP_IC4_DEFAULT);
TCP_RSET(IC5,TCP_IC5_DEFAULT);
TCP_RSET(IC6,TCP_IC6_DEFAULT);
TCP_RSET(IC7,TCP_IC7_DEFAULT);
TCP_RSET(IC8,TCP_IC8_DEFAULT);
TCP_RSET(IC9,TCP_IC9_DEFAULT);
TCP_RSET(IC10,TCP_IC10_DEFAULT);
TCP_RSET(IC11,TCP_IC11_DEFAULT);
TCP_RSET(OUT,TCP_OUT_DEFAULT);
TCP_RSET(EXE,TCP_EXE_DEFAULT);
TCP_RSET(END,TCP_END_DEFAULT);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_getNumIt(){
return TCP_FGET(OUT,NIT);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_getSysParEndian(){
return TCP_FGET(END,SYSPAR);
}
/*----------------------------------------------------------------------------*/
IDEF void TCP_setSysParEndian(Uint32 sysParEnd){
TCP_FSET(END,SYSPAR,sysParEnd);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_getInterEndian(){
return TCP_FGET(END,INTER);
}
/*----------------------------------------------------------------------------*/
IDEF void TCP_setInterEndian(Uint32 interEnd){
TCP_FSET(END,INTER,interEnd);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_getAprioriEndian(){
return TCP_FGET(END,AP);
}
/*----------------------------------------------------------------------------*/
IDEF void TCP_setAprioriEndian(Uint32 aprioriEnd ){
TCP_FSET(END,AP,aprioriEnd);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_getExtEndian(){
return TCP_FGET(END,EXT);
}
/*----------------------------------------------------------------------------*/
IDEF void TCP_setExtEndian(Uint32 extEnd){
TCP_FSET(END,EXT,extEnd);
}
/*----------------------------------------------------------------------------*/
IDEF void TCP_setNativeEndian(){
TCP_RSET(END,0xF);
}
/*----------------------------------------------------------------------------*/
IDEF void TCP_setPacked32Endian(){
TCP_RSET(END,0x0);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_statPause(){
return TCP_FGET(STAT,PAUS);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_statRun(){
return TCP_FGET(STAT,RUN);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_statError(){
return TCP_FGET(STAT,ERR);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_statWaitIc(){
return TCP_FGET(STAT,WIC);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_statWaitInter(){
return TCP_FGET(STAT,WINT);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_statWaitSysPar(){
return TCP_FGET(STAT,WSP);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_statWaitApriori(){
return TCP_FGET(STAT,WAP);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_statWaitExt(){
return TCP_FGET(STAT,REXT);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_statWaitHardDec(){
return TCP_FGET(STAT,RHD);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_statWaitOutParm(){
return TCP_FGET(STAT,ROP);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_errTest(){
return TCP_FGET(ERR,ERR);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_getFrameLenErr(){
return TCP_FGET(ERR,F);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_getProlLenErr(){
return TCP_FGET(ERR,P);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_getRateErr(){
return TCP_FGET(ERR,RATE);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_getSubFrameErr(){
return TCP_FGET(ERR,SF);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_getModeErr(){
return TCP_FGET(ERR,MODE);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_getRelLenErr(){
return TCP_FGET(ERR,R);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_getLastRelLenErr(){
return TCP_FGET(ERR,LR);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_getInterleaveErr(){
return TCP_FGET(ERR,INT);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_getOutParmErr(){
return TCP_FGET(ERR,OP);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_getAccessErr(){
return TCP_FGET(ERR,ACC);
}
/*----------------------------------------------------------------------------*/
IDEF void TCP_icConfig(TCP_ConfigIc *config) {
Uint32 gie;
volatile Uint32 *base = (volatile Uint32 *) _TCP_BASE_IC;
register int x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11;
gie = IRQ_globalDisable();
x0 = config->ic0;
x1 = config->ic1;
x2 = config->ic2;
x3 = config->ic3;
x4 = config->ic4;
x5 = config->ic5;
x6 = config->ic6;
x7 = config->ic7;
x8 = config->ic8;
x9 = config->ic9;
x10 = config->ic10;
x11 = config->ic11;
base[_TCP_IC0_OFFSET] = x0;
base[_TCP_IC1_OFFSET] = x1;
base[_TCP_IC2_OFFSET] = x2;
base[_TCP_IC3_OFFSET] = x3;
base[_TCP_IC4_OFFSET] = x4;
base[_TCP_IC5_OFFSET] = x5;
base[_TCP_IC6_OFFSET] = x6;
base[_TCP_IC7_OFFSET] = x7;
base[_TCP_IC8_OFFSET] = x8;
base[_TCP_IC9_OFFSET] = x9;
base[_TCP_IC10_OFFSET] = x10;
base[_TCP_IC11_OFFSET] = x11;
IRQ_globalRestore(gie);
}
/*----------------------------------------------------------------------------*/
IDEF void TCP_icConfigArgs(Uint32 ic0, Uint32 ic1, Uint32 ic2, Uint32 ic3, Uint32 ic4,
Uint32 ic5, Uint32 ic6, Uint32 ic7, Uint32 ic8, Uint32 ic9,
Uint32 ic10, Uint32 ic11) {
Uint32 gie;
volatile Uint32 *base = (volatile Uint32 *) _TCP_BASE_IC;
gie = IRQ_globalDisable();
base[_TCP_IC0_OFFSET] = ic0;
base[_TCP_IC1_OFFSET] = ic1;
base[_TCP_IC2_OFFSET] = ic2;
base[_TCP_IC3_OFFSET] = ic3;
base[_TCP_IC4_OFFSET] = ic4;
base[_TCP_IC5_OFFSET] = ic5;
base[_TCP_IC6_OFFSET] = ic6;
base[_TCP_IC7_OFFSET] = ic7;
base[_TCP_IC8_OFFSET] = ic8;
base[_TCP_IC9_OFFSET] = ic9;
base[_TCP_IC10_OFFSET] = ic10;
base[_TCP_IC11_OFFSET] = ic11;
IRQ_globalRestore(gie);
}
/*----------------------------------------------------------------------------*/
IDEF void TCP_getIcConfig(TCP_ConfigIc *config) {
Uint32 gie;
volatile Uint32 *base = (volatile Uint32 *) _TCP_BASE_IC;
register int x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11;
gie = IRQ_globalDisable();
x0 = base[_TCP_IC0_OFFSET];
x1 = base[_TCP_IC1_OFFSET];
x2 = base[_TCP_IC2_OFFSET];
x3 = base[_TCP_IC3_OFFSET];
x4 = base[_TCP_IC4_OFFSET];
x5 = base[_TCP_IC5_OFFSET];
x6 = base[_TCP_IC6_OFFSET];
x7 = base[_TCP_IC7_OFFSET];
x8 = base[_TCP_IC8_OFFSET];
x9 = base[_TCP_IC9_OFFSET];
x10 = base[_TCP_IC10_OFFSET];
x11 = base[_TCP_IC11_OFFSET];
config->ic0 = x0;
config->ic1 = x1;
config->ic2 = x2;
config->ic3 = x3;
config->ic4 = x4;
config->ic5 = x5;
config->ic6 = x6;
config->ic7 = x7;
config->ic8 = x8;
config->ic9 = x9;
config->ic10 = x10;
config->ic11 = x11;
IRQ_globalRestore(gie);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_makeTailArgs(Uint8 byte31_24, Uint8 byte23_16,
Uint8 byte15_8, Uint8 byte7_0) {
Uint32 gie;
Uint32 x;
gie = IRQ_globalDisable();
x = (byte31_24 << 24) | (byte23_16 << 16) | (byte15_8 << 8) | byte7_0;
IRQ_globalRestore(gie);
return(x);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_ceil(Uint32 val, Uint32 pwr2) {
Uint32 gie;
Uint32 x;
gie = IRQ_globalDisable();
/* x^pwr2 = ceil(val, 2^pwr2) */
/* val is increased (if necessary) to be a multiple of 2^pwr2 */
x = (((val) - (((val)>>(pwr2)) << (pwr2))) == 0) ? \
((val)>>(pwr2)):(((val)>>(pwr2))+1);
IRQ_globalRestore(gie);
return(x);
}
/*----------------------------------------------------------------------------*/
IDEF Uint32 TCP_normalCeil(Uint32 val1, Uint32 val2) {
Uint32 gie;
Uint32 x;
gie = IRQ_globalDisable();
/* x = ceil(val1, val2) */
/* val is increased (if necessary) to be a multiple of val2 */
x = ( ((val1)%(val2))!=0 )?( ((val1)/(val2)) + 1 ):((val1)/(val2));
IRQ_globalRestore(gie);
return(x);
}
/*----------------------------------------------------------------------------*/
#endif /* USEDEFS */
#endif /* (TCP_SUPPORT) */
#endif /* _CSL_TCP_H_ */
/******************************************************************************\
* End of csl_tcp.h
\******************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -