dmactrl.c

Go to the documentation of this file.
00001 /***************************************************************************/
00036 #include "em_device.h"
00037 #include "dmactrl.h"
00038 
00039 #if ( ( DMA_CHAN_COUNT > 4 ) && ( DMA_CHAN_COUNT <= 8 ) )
00040 #define DMACTRL_CH_CNT      8
00041 #define DMACTRL_ALIGNMENT   256
00042 
00043 #elif ( ( DMA_CHAN_COUNT > 8 ) && ( DMA_CHAN_COUNT <= 16 ) )
00044 #define DMACTRL_CH_CNT      16
00045 #define DMACTRL_ALIGNMENT   512
00046 
00047 #else
00048 #error "Unsupported DMA channel count (dmactrl.c)."
00049 #endif
00050 
00051 
00053 #if defined (__ICCARM__)
00054 #pragma data_alignment=DMACTRL_ALIGNMENT
00055 DMA_DESCRIPTOR_TypeDef dmaControlBlock[DMACTRL_CH_CNT * 2];
00056 
00057 #elif defined (__CC_ARM)
00058 DMA_DESCRIPTOR_TypeDef dmaControlBlock[DMACTRL_CH_CNT * 2] __attribute__ ((aligned(DMACTRL_ALIGNMENT)));
00059 
00060 #elif defined (__GNUC__)
00061 DMA_DESCRIPTOR_TypeDef dmaControlBlock[DMACTRL_CH_CNT * 2] __attribute__ ((aligned(DMACTRL_ALIGNMENT)));
00062 
00063 #else
00064 #error Undefined toolkit, need to define alignment
00065 #endif