|
VSF Documented
|
dma configuration More...
#include <dma.h>
Data Fields | |
| vsf_dma_channel_mode_t | mode |
| vsf_dma_isr_t | isr |
| vsf_dma_irq_mask_t | irq_mask |
| vsf_arch_prio_t | prio |
| uint8_t | src_request_idx |
| uint8_t | dst_request_idx |
| uint8_t | sync_reqcnt |
| uint8_t | sync_signal |
dma configuration
DMA channel configuration structure for transfer setup
| vsf_dma_channel_mode_t vsf_dma_channel_cfg_t::mode |
DMA channel mode, including transfer direction, address increment mode, data width, burst length, priority, etc. Use VSF_DMA_XXX macros to configure (e.g. VSF_DMA_MEMORY_TO_PERIPHERAL | VSF_DMA_SRC_ADDR_INCREMENT | VSF_DMA_DST_WIDTH_BYTES_4)
| vsf_dma_isr_t vsf_dma_channel_cfg_t::isr |
Interrupt service routine configuration, including handler function and target pointer
| vsf_dma_irq_mask_t vsf_dma_channel_cfg_t::irq_mask |
Interrupt mask, indicating which interrupts to enable (e.g. VSF_DMA_IRQ_MASK_CPL | VSF_DMA_IRQ_MASK_ERROR) Multiple interrupt types can be combined using bitwise OR operation
| vsf_arch_prio_t vsf_dma_channel_cfg_t::prio |
Interrupt priority for this channel. Use vsf_arch_prio_invalid to use default priority from vsf_dma_cfg_t. Only effective when hardware supports per-channel or per-group interrupt priority configuration.
| uint8_t vsf_dma_channel_cfg_t::src_request_idx |
DMA peripheral request signal index for source side This is the hardware-specific request signal ID used for DMA handshaking Only effective when source is a peripheral (ignored for memory source)
| uint8_t vsf_dma_channel_cfg_t::dst_request_idx |
DMA peripheral request signal index for destination side This is the hardware-specific request signal ID used for DMA handshaking Only effective when destination is a peripheral (ignored for memory destination)
| uint8_t vsf_dma_channel_cfg_t::sync_reqcnt |
| uint8_t vsf_dma_channel_cfg_t::sync_signal |