Dma transfer on S32K310

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Dma transfer on S32K310

Jump to solution
454 Views
LeoYang-
NXP Employee
NXP Employee

 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.

LeoYang_0-1724320806973.png

this is how the variables initialized

LeoYang_1-1724320955411.pngLeoYang_2-1724320978675.png

 

 

0 Kudos
Reply
1 Solution
423 Views
DanNguyenDuy
NXP Employee
NXP Employee

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

View solution in original post

2 Replies
424 Views
DanNguyenDuy
NXP Employee
NXP Employee

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

412 Views
LeoYang-
NXP Employee
NXP Employee
thank you, good solution!