while i am testing the Dma function on S32K310, i find that the destination buffer is not updated. then tried to read the Dma status, this is the value of error register.
this is how the variables initialized
Solved! Go to Solution.
Hi @LeoYang-,
As per the debug session that I checked with you, we can conclude that the cause is: somehow, the CH0_ES[ERR] bit was set before calling the Dma_Ip_Init() function, and after, the destination address and source address can't be written into the DADDR and SADDR registers by Dma_Ip_SetLogicChannelTransferList() function.
This is the solution: write 1 to clear the CH0_ES[ERR] bit before calling the Dma_Ip_Init() function.
Best regards,
Dan
Hi @LeoYang-,
As per the debug session that I checked with you, we can conclude that the cause is: somehow, the CH0_ES[ERR] bit was set before calling the Dma_Ip_Init() function, and after, the destination address and source address can't be written into the DADDR and SADDR registers by Dma_Ip_SetLogicChannelTransferList() function.
This is the solution: write 1 to clear the CH0_ES[ERR] bit before calling the Dma_Ip_Init() function.
Best regards,
Dan