Hi, i want to transfer data from SDRAM to UART Controller via SDMA
The first byte of the data does not start at a 4-Byte boundary. All Transfer length shall be possible.
If i try to transfer 54 Bytes, then two bytes are added. = 56Bytes
If i try to transfer 55 Bytes, then one byte is added. = 56Bytes
After some test , i found that multiples of 4 Bytes are transfered correct. For all other Length there are some bytes added.
I think i made some parameters wrong:
DMA4_CSDP.DATA_TYPE = DMA4_CSDP_DATA_TYPE_8BITSSCALAR;
DMA4_CSDP.SRC_BURST_EN = DMA4_CSDP_SCRDST_BURST_EN_SINGLEACCESS;
DMA4_CSDP.DST_BURST_EN = DMA4_CSDP_SCRDST_BURST_EN_SINGLEACCESS;
DMA4_CCR.SRC_AMODE = DMA4_CCR_SRCDST_AMODE_POSTINCREMENTEDADDRESS;
DMA4_CCR.DST_AMODE = DMA4_CCR_SRCDST_AMODE_CONSTANTADDRESS;
DMA4_CCR.FS = 1;
DMA4_CCR.BS = 0;
DMA4_CCR.PREFETCH = DMA4_CCR_PREFETCH_DISABLE;
DMA4_CCR.READ_PRIORITY = DMA4_CCR_READWRITE_PRIORITY_HIGH;
DMA4_CCR.WRITE_PRIORITY = DMA4_CCR_READWRITE_PRIORITY_LOW;
DMA4_CCR.SEL_SRC_DST_SYNC = DMA4_CCR_SEL_SRC_DST_SYNC_TRIGGER_BY_DESTINATION;
DMA4_CEN.CHANNEL_ELMNT_NBR = 1;
DMA4_CFN.CHANNEL_FRAME_NBR = conf->transferlength & 0x00FFFFFF;
DMA4_CSE.CHANNEL_SRC_ELMNT_INDEX = 1;
DMA4_CSF.CH_SRC_FRM_INDEX_OR_ = 0;
DMA4_CDE.CHANNEL_DST_ELMNT_INDEX = 1;
DMA4_CDF.CH_DST_FRM_IDX_OR_16BIT_ = 0;
DMA4_CSDP.DST_PACKED = DMA4_CSDP_SRCDST_PACKET_ISNONPACKET;
DMA4_CSDP.SRC_PACKED = DMA4_CSDP_SRCDST_PACKET