Quantcast
Channel: Infineon Forums
Viewing all articles
Browse latest Browse all 9892

Linked list multi block DMA transfer with DAVE 4 / XMCLib

$
0
0
Hello Gents,

I have the same problem, and Travis answer does not help.
The latest DMA app (Dave 4) does nor have members ctl_l and ctl_h , but rather :

typedef struct XMC_DMA_LLI
{
uint32_t src_addr; /**< Source address */
uint32_t dst_addr; /**< Destination address */
struct XMC_DMA_LLI *llp; /**< Linked list pointer of type XMC_DMA_LLI_t */
union
{
struct
{
uint32_t enable_interrupt: 1; /**< Enable interrupts? */
uint32_t dst_transfer_width: 3; /**< Destination transfer width */
uint32_t src_transfer_width: 3; /**< Source transfer width */
uint32_t dst_address_count_mode: 2; /**< Destination address count mode */
uint32_t src_address_count_mode: 2; /**< Source address count mode */
uint32_t dst_burst_length: 3; /**< Destination burst length */
uint32_t src_burst_length: 3; /**< Source burst length */
uint32_t enable_src_gather: 1; /**< Enable source gather? */
uint32_t enable_dst_scatter: 1; /**< Enable destination scatter? */
uint32_t : 1; /**< Reserved bits */
uint32_t transfer_flow: 3; /**< DMA transfer flow */
uint32_t : 4; /**< Reserved bits */
uint32_t enable_dst_linked_list: 1; /**< Enable destination linked list? */
uint32_t enable_src_linked_list: 1; /**< Enable source linked list? */
uint32_t : 3; /**< Reserved bits */
} cs;
uint32_t control;
} cu;
uint32_t block_size; /**< Transfer block size */
uint32_t src_status; /**< Source status */
uint32_t dst_status; /**< Destination status */
} XMC_DMA_LLI_t;

How shall we set cu.control , block_size, src_status and dst_status members ?

Jorge

Is there any example somewhere ?

Viewing all articles
Browse latest Browse all 9892

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>