dmactrl.c
Go to the documentation of this file.00001
00019 #include "em_device.h"
00020 #include "dmactrl.h"
00021
00022 #if ( ( DMA_CHAN_COUNT > 4 ) && ( DMA_CHAN_COUNT <= 8 ) )
00023 #define DMACTRL_CH_CNT 8
00024 #define DMACTRL_ALIGNMENT 256
00025
00026 #elif ( ( DMA_CHAN_COUNT > 8 ) && ( DMA_CHAN_COUNT <= 16 ) )
00027 #define DMACTRL_CH_CNT 16
00028 #define DMACTRL_ALIGNMENT 512
00029
00030 #else
00031 #error "Unsupported DMA channel count (dmactrl.c)."
00032 #endif
00033
00034
00036 #if defined (__ICCARM__)
00037 #pragma data_alignment=DMACTRL_ALIGNMENT
00038 DMA_DESCRIPTOR_TypeDef dmaControlBlock[DMACTRL_CH_CNT * 2];
00039
00040 #elif defined (__CC_ARM)
00041 DMA_DESCRIPTOR_TypeDef dmaControlBlock[DMACTRL_CH_CNT * 2] __attribute__ ((aligned(DMACTRL_ALIGNMENT)));
00042
00043 #elif defined (__GNUC__)
00044 DMA_DESCRIPTOR_TypeDef dmaControlBlock[DMACTRL_CH_CNT * 2] __attribute__ ((aligned(DMACTRL_ALIGNMENT)));
00045
00046 #else
00047 #error Undefined toolkit, need to define alignment
00048 #endif