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

📄 csl_tcp.h

📁 DSP图象处理的基础入门程序,对于复杂的DSP操作系统.能够让你得到一些启示
💻 H
📖 第 1 页 / 共 2 页
字号:
/*----------------------------------------------------------------------------*/
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 + -