38 #pragma GCC optimize ("O2") 54 .clk_id = RCC_AHB1Periph_DMA1,
55 .irq_lines = { DMA1_Stream0_IRQn, DMA1_Stream1_IRQn, DMA1_Stream2_IRQn, DMA1_Stream3_IRQn, DMA1_Stream4_IRQn, DMA1_Stream5_IRQn, DMA1_Stream6_IRQn, DMA1_Stream7_IRQn},
56 .handlers = dma1_handlers
66 .clk_id = RCC_AHB1Periph_DMA2,
67 .irq_lines = { DMA2_Stream0_IRQn, DMA2_Stream1_IRQn, DMA2_Stream2_IRQn, DMA2_Stream3_IRQn, DMA2_Stream4_IRQn, DMA2_Stream5_IRQn, DMA2_Stream6_IRQn, DMA2_Stream7_IRQn},
68 .handlers = dma2_handlers
91 RCC_AHB1PeriphClockCmd(dev->
clk_id, ENABLE);
158 tmpreg = DMAy_Streamx->
CR;
161 tmpreg &= ((uint32_t)~(DMA_SxCR_CHSEL | DMA_SxCR_MBURST | DMA_SxCR_PBURST | \
162 DMA_SxCR_PL | DMA_SxCR_MSIZE | DMA_SxCR_PSIZE | \
163 DMA_SxCR_MINC | DMA_SxCR_PINC | DMA_SxCR_CIRC | \
187 DMAy_Streamx->
CR = tmpreg;
191 tmpreg = DMAy_Streamx->
FCR;
194 tmpreg &= (uint32_t)~(DMA_SxFCR_DMDIS | DMA_SxFCR_FTH);
202 DMAy_Streamx->
FCR = tmpreg;
294 return (reg >> 0) & 0x0000003d;
296 return (reg >> 6) & 0x0000003d;
298 return (reg >> 16) & 0x0000003d;
300 return (reg >> 22) & 0x0000003d;
303 return (reg >> 0) & 0x0000003d;
305 return (reg >> 6) & 0x0000003d;
307 return (reg >> 16) & 0x0000003d;
309 return (reg >> 22) & 0x0000003d;
335 if(t>max_isr_time) max_isr_time=t;
void DMA2_Stream0_IRQHandler(void)
static uint32_t stopwatch_getticks()
static void dispatch_handler(dma_stream stream)
static const dma_dev *const DMAS[]
void DMA1_Stream1_IRQHandler(void)
void dma_set_num_transfers(dma_stream stream, uint16_t num_transfers)
uint32_t DMA_PeripheralBaseAddr
void dma_clear_isr_bits(dma_stream stream)
Clear the ISR status bits for a given DMA stream.
void DMA1_Stream3_IRQHandler(void)
void DMA1_Stream6_IRQHandler(void)
void DMA1_Stream5_IRQHandler(void)
uint8_t dma_get_isr_bits(dma_stream stream)
Get the ISR status bits for a DMA stream.
uint8_t dma_is_stream_enabled(dma_stream stream)
Check if a DMA stream is enabled.
static AP_HAL::OwnPtr< AP_HAL::Device > dev
void DMA1_Stream0_IRQHandler(void)
void DMA2_Stream2_IRQHandler(void)
void enable_nvic_irq(uint8_t irq, uint8_t prio)
Miscellaneous utility macros and procedures.
void DMA2_Stream1_IRQHandler(void)
void DMA2_Stream6_IRQHandler(void)
static const dma_dev dma1
void DMA1_Stream4_IRQHandler(void)
void dma_detach_interrupt(dma_stream stream)
Detach a DMA transfer interrupt handler.
Bit-banding utility functions.
enum Dma_stream dma_stream
void DMA2_Stream4_IRQHandler(void)
#define DMA_IOC_INT_PRIORITY
void dma_disable(dma_stream stream)
void dma_init_transfer(dma_stream stream, DMA_InitType *v)
void DMA2_Stream7_IRQHandler(void)
void dma_attach_interrupt(dma_stream stream, Handler handler, uint8_t flag)
Attach an interrupt to a DMA transfer.
uint32_t DMA_Memory0BaseAddr
static const dma_dev dma2
void DMA1_Stream7_IRQHandler(void)
static Handler dma1_handlers [8] IN_CCM
void dma_init(dma_stream stream)
Initialize a DMA device.
void uint32_t uint32_t uint32_t flag
void revo_call_handler(Handler h, uint32_t arg)
void DMA2_Stream5_IRQHandler(void)
void dma_enable(dma_stream stream)
void DMA2_Stream3_IRQHandler(void)
void DMA1_Stream2_IRQHandler(void)