fdma.c
上传用户:fy98168
上传日期:2015-06-26
资源大小:13771k
文件大小:2k
源码类别:

DVD

开发平台:

C/C++

  1. /*****************************************************************************
  2. File name   : fdma.c
  3. Description : FDMA functions
  4. COPYRIGHT (C) 2004 STMicroelectronics
  5. *****************************************************************************/
  6. /* Includes --------------------------------------------------------------- */
  7. #include <string.h>
  8. #include "stcommon.h"
  9. #include "stdevice.h"
  10. #include "sttbx.h"
  11. #include "section.h"   /* memory partitions */
  12. #include "errors.h"
  13. #include "fdma.h"
  14. /* Global ----------------------------------------------------------------- */
  15. ST_DeviceName_t  g_KB_FDMADeviceName[KB_FDMA_INST] = {"FDMA0"};
  16. /* Functions -------------------------------------------------------------- */
  17. /*-------------------------------------------------------------------------
  18.  * Function : KB_FDMASetup
  19.  * Input    : None
  20.  * Output   :
  21.  * Return   : Error Code
  22.  * ----------------------------------------------------------------------*/
  23. ST_ErrorCode_t KB_FDMASetup(void)
  24. {
  25.     ST_ErrorCode_t       ST_ErrorCode;
  26.     STFDMA_InitParams_t  STFDMA_InitParams;
  27.     int Instance;
  28.     for ( Instance = 0; Instance < KB_FDMA_INST; Instance++ )
  29.     {
  30.         STTBX_Print(("KB_FDMASetup(%s)=", g_KB_FDMADeviceName[Instance] ));
  31.         STFDMA_InitParams.DeviceType          = KB_FDMA_DEVICE_TYPE;
  32.         STFDMA_InitParams.DriverPartition_p   = SystemPartition;
  33.         STFDMA_InitParams.NCachePartition_p   = NcachePartition;
  34.         STFDMA_InitParams.BaseAddress_p       = (void *)KB_FDMA_BASE_ADDRESS;
  35.         STFDMA_InitParams.InterruptNumber     = KB_FDMA_INTERRUPT;
  36.         STFDMA_InitParams.InterruptLevel      = KB_FDMA_INTERRUPT_LEVEL;
  37.         STFDMA_InitParams.NumberCallbackTasks = 1;
  38.         STFDMA_InitParams.ClockTicksPerSecond = ST_GetClocksPerSecond();
  39.         ST_ErrorCode = STFDMA_Init(g_KB_FDMADeviceName[Instance], &STFDMA_InitParams);
  40.         if (ST_ErrorCode != ST_NO_ERROR)
  41.         {
  42.             STTBX_Print(("%sn", KB_ErrorGetText(ST_ErrorCode) ));
  43.             return( ST_ErrorCode );
  44.         }
  45.         STTBX_Print(("%sn", STFDMA_GetRevision() ));
  46.     }   /* for(Instance) */
  47.     return( ST_ErrorCode );
  48. }
  49. /* EOF --------------------------------------------------------------------- */