Hi,
I'm trying to explain what I mean.
The DMA_TCDn_Attr field should be filled in with the edma_transfer_size_t enum values
/*! @brief eDMA transfer configuration */
typedef enum _edma_transfer_size {
kEDMATransferSize_1Bytes = 0x0U,
kEDMATransferSize_2Bytes = 0x1U,
kEDMATransferSize_4Bytes = 0x2U,
kEDMATransferSize_16Bytes = 0x4U,
kEDMATransferSize_32Bytes = 0x5U
} edma_transfer_size_t;
which are defined in the platform\hal\inc\fsl_edma_hal.h.
This is performed by the EDMA driver.
I on the other hand uses this API:
edma_status_t EDMA_DRV_ConfigLoopTransfer(
edma_chn_state_t *chn, edma_software_tcd_t *stcd,
edma_transfer_type_t type,
uint32_t srcAddr, uint32_t destAddr, uint32_t size,
uint32_t bytesOnEachRequest, uint32_t totalLength, uint8_t number)
And when studying the manual file:///C:/Freescale/KSDK_1.1.0/doc/Kinetis%20SDK%20v.1.1%20API%20Reference%20Manual/group__edma__driver.html#ga2cbe648d04e75b237eaa21f68fafa11c
it show an example of how to use this API, which suggest kEDMATransferSize_2Bytes for the 'size' parameter.
This could NOT be correct as the enum (shown above) don't have any value for 32, which is needed in the forementioned switch (KSDK_1.1.0\platform\drivers\src\edma\fsl_edma_driver.c
aproximately at line 450)