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

📄 idma2.h

📁 TI Algorithm Soft Kit 5.10 仅包括实例及其原代码
💻 H
字号:
/*  *  Copyright 2006 *  Texas Instruments Incorporated * *  All rights reserved.  Property of Texas Instruments Incorporated *  Restricted rights to use, duplicate or disclose this code are *  granted through contract. *  *//* *  ======== idma2.h ======== *  Declaration of the IDMA2 interface. */#ifndef IDMA2_#define IDMA2_#ifndef IDMA2_USEFULLPACKAGEPATH#include <ialg.h>#else#include <ti/xdais/ialg.h>#endif#ifdef __cplusplusextern "C" {#endif/* *  ======== IDMA2_Handle ======== *  Handle to "logical" DMA channel. */typedef struct IDMA2_Obj *IDMA2_Handle;#if defined(_54_) || defined(_55_)typedef Void (*IDMA2_AdrPtr)();#define IDMA2_ADRPTR(addr) ((IDMA2_AdrPtr)((LgUns)addr<<1))#elsetypedef Void * IDMA2_AdrPtr;#endif/* *  ======== IDMA2_ElementSize ======== *  8, 16 or 32-bit aligned transfer. */typedef enum IDMA2_ElementSize {    IDMA2_ELEM8,         /* 8-bit data element */    IDMA2_ELEM16,        /* 16-bit data element */    IDMA2_ELEM32         /* 32-bit data element */} IDMA2_ElementSize;/* *  ======== IDMA2_TransferType ======== *  Type of the DMA transfer. */typedef enum IDMA2_TransferType {    IDMA2_1D1D,          /* 1-dimensional to 1-dimensional transfer */    IDMA2_1D2D,          /* 1-dimensional to 2-dimensional transfer */    IDMA2_2D1D,          /* 2-dimensional to 1-dimensional transfer */    IDMA2_2D2D           /* 2-dimensional to 2-dimensional transfer */} IDMA2_TransferType;/* *  ======== IDMA2_Params ======== *  DMA transfer specific parameters. Defines the configuration of a *  logical channel. */typedef struct IDMA2_Params {    IDMA2_TransferType xType;           /* 1D1D, 1D2D, 2D1D or 2D2D */    IDMA2_ElementSize  elemSize;        /* Element transfer size */    Uns    numFrames;       /* Num of frames for 2D transfers */    Int    srcElementIndex; /* In 8-bit bytes  */    Int    dstElementIndex; /* In 8-bit bytes */    Int    srcFrameIndex;   /* Jump in 8-bit bytes for 2D transfers */    Int    dstFrameIndex;   /* Jump in 8-bit bytes for 2D transfers */} IDMA2_Params;/* *  ======== IDMA2_ChannelRec ======== *  DMA record used to describe the logical channels. */typedef struct IDMA2_ChannelRec {    IDMA2_Handle  handle;       /* Handle to logical DMA channel */    Int           queueId;      /* Selects the serialization queue */} IDMA2_ChannelRec;/* *  ======== IDMA2_Fxns ======== *  These fxns are used to query/grant the DMA resources requested by *  the algorithm at initialization time, and to change these resources *  at runtime. All these fxns are implemented by the algorithm, and *  called by the client of the algorithm. * *    implementationId    - unique pointer that identifies the module *                          implementing this interface. *    dmaChangeChannels() - apps call this whenever the logical channels *                          are moved at runtime. *    dmaGetChannelCnt()  - apps call this to query algorithm about max *                          number of logical dma channel requested. *    dmaGetChannels()    - apps call this to query algorithm about its *                          dma channel requests at init time, or to get *                          the current channel holdings. *    dmaInit()           - apps call this to grant dma handle(s) to the *                          algorithm at initialization. Algorithm initializes *                          the instance object. */typedef struct IDMA2_Fxns {    Void        *implementationId;    Void        (*dmaChangeChannels)(IALG_Handle, IDMA2_ChannelRec *);    Int         (*dmaGetChannelCnt)(Void);    Int         (*dmaGetChannels)(IALG_Handle, IDMA2_ChannelRec *);    Int         (*dmaInit)(IALG_Handle, IDMA2_ChannelRec *);} IDMA2_Fxns;#ifdef __cplusplus}#endif#endif  /* IDMA2_ *//* *  @(#) ti.xdais; 1, 2.0, 0, 0,46; 10-18-2006 19:11:30; /db/wtree/library/trees/dais-g07x/src/ */

⌨️ 快捷键说明

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