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

📄 csl_dat.h

📁 SEED的VPM642测试程序-板级支持库
💻 H
字号:
/******************************************************************************\

*           Copyright (C) 1999-2000 Texas Instruments Incorporated.

*                           All Rights Reserved

*------------------------------------------------------------------------------

* FILENAME...... csl_dat.h

* DATE CREATED.. 11/11/1999 

* LAST MODIFIED. 10/03/2000

\******************************************************************************/

#ifndef _CSL_DAT_H_

#define _CSL_DAT_H_



#include <csl_chip.h>

#include <csl_irq.h>

#include <csl_dma.h>

#include <csl_edma.h>





#if (DAT_SUPPORT)

/******************************************************************************\

* scope and inline control macros

\******************************************************************************/

#ifdef __cplusplus

#define CSLAPI extern "C" far

#else

#define CSLAPI extern far

#endif



#undef  USEDEFS

#undef  IDECL

#undef  IDEF



#ifdef  _DAT_MOD_

  #define IDECL CSLAPI

  #define USEDEFS

  #define IDEF

#else

  #ifdef  _INLINE

    #define IDECL static inline

    #define USEDEFS

    #define IDEF  static inline

  #else

    #define IDECL CSLAPI

  #endif

#endif





/******************************************************************************\

* global macro declarations

\******************************************************************************/

#if (DMA_SUPPORT)

  #define DAT_CHAANY    DMA_CHAANY

  #define DAT_CHA0      DMA_CHA0

  #define DAT_CHA1      DMA_CHA1

  #define DAT_CHA2      DMA_CHA2

  #define DAT_CHA3      DMA_CHA3

  #define DAT_PRI_LOW   DMA_PRICTL_PRI_CPU

  #define DAT_PRI_HIGH  DMA_PRICTL_PRI_DMA



  #define DAT_1D2D      0x000000D0

  #define DAT_2D1D      0x00000070

  #define DAT_2D2D      0x000000F0



#elif (EDMA_SUPPORT)

  #define DAT_CHAANY    0

  #define DAT_CHA0      0

  #define DAT_CHA1      0

  #define DAT_CHA2      0

  #define DAT_CHA3      0

  #define DAT_PRI_LOW   EDMA_OPT_PRI_LOW

  #define DAT_PRI_HIGH  EDMA_OPT_PRI_HIGH



  #define DAT_1D2D      0x01A00001

  #define DAT_2D1D      0x05200001

  #define DAT_2D2D      0x05A00001

#endif



/* open flags */

#define DAT_OPEN_2D    1



/* special magic transfer IDs */

#define DAT_XFRID_WAITALL   0xFFFFFFFF

#define DAT_XFRID_WAITNONE  0xFFFF0010





/******************************************************************************\

* global typedef declarations

\******************************************************************************/

#if (DMA_SUPPORT)

  typedef struct {

    Uint32 useMask;

    Uint32 baseAddr;

    Uint32 gblcntAddr;

    Uint32 gblidxAddr;

    Uint32 initPrictl;

  } _DAT_StateStruct;

#endif



#if (EDMA_SUPPORT)

  typedef struct {

    Uint32 useMask;

    Uint32 baseAddr;

    Uint32 initOpt;

  } _DAT_StateStruct;

#endif





/******************************************************************************\

* global variable declarations

\******************************************************************************/

extern far _DAT_StateStruct _DAT_stateStruct;





/******************************************************************************\

* global function declarations

\******************************************************************************/

CSLAPI int DAT_open(int chaNum, int priority, Uint32 flags);

CSLAPI void DAT_close();



CSLAPI Uint32 DAT_copy(void *src , void *dst , Uint16 byteCnt);

CSLAPI Uint32 DAT_fill(void *dst , Uint16 byteCnt, Uint32 *value);

CSLAPI void   DAT_wait(Uint32 id);

CSLAPI int    DAT_busy(Uint32 id);



CSLAPI Uint32 DAT_copy2d(Uint32 type, void *src, void *dst, Uint16 lineLen, Uint16 lineCnt, Uint16 linePitch);





/******************************************************************************\

* inline function declarations

\******************************************************************************/

IDECL void DAT_setPriority(int priority);





/******************************************************************************\

* inline function definitions

\******************************************************************************/

#ifdef USEDEFS

/*----------------------------------------------------------------------------*/

IDEF void DAT_setPriority(int priority) {

  #if (DMA_SUPPORT)

    DMA_FSETA(&(_DAT_stateStruct.initPrictl), PRICTL, PRI, priority);

  #endif



  #if (EDMA_SUPPORT)

    EDMA_FSETA(&(_DAT_stateStruct.initOpt), OPT, PRI, priority);

  #endif 

}

/*----------------------------------------------------------------------------*/

#endif /* USEDEFS */





#endif /* DAT_SUPPORT */

#endif /* _CSL_DAT_H_ */

/******************************************************************************\

* End of csl_dat.h

\******************************************************************************/



⌨️ 快捷键说明

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