I am using DMA to transfer data from FIFO1 and FIFO2 into a buffer. I am utilizing fixed DMA configurations for this data transfer. when completion of the transfer, the following functions will be called:
The system functions correctly when I use an interrupt from RTD (IntCtrl_Ip_Init).
However, for my project, I am using a different file to configure the interrupt handler, set priority, and enable the handler.
For DMA0_CH1 &DMA0_CH16,i am using IRQ :
However, it does not show any indication if the transfer has begun or not, and it is not raising an interrupt when the transfer is completed for DMA while reading data from FIFO using the fixed RTD configuration setup for DMA transfer (Bctu_FifoSetupDma).
What additional configurations are needed to get the system working?
已解决! 转到解答。
Hi,
I do not expect issue with clock gating. You can check DMA TCD dest address if is has desired value.
1-2) No, it is always enabled
3) if Dcache is enabled and buffer not placed in non cacheable area, then you should use it flush/invalidate cache if needed
4) depend on application, if peripheral is used/accessed must not be clock gated.
BR, Petr
Hi,
not sure of the code you execute, probably just IntCtrl_Ip_InstallHandler and IntCtrl_Ip_EnableIrq. But the same is done in IntCtrl_Ip_Init as well.
Try to check/compare in debugger NVIC content and assigned handler in vector table for both ways.
BR, Petr
Hi,
error may happen in case destination address points to memory range that is inaccessible - it means either access to reserved memory space or to disabled or un-clocked peripheral or protected by any kind of protection leading in bus error (MPU, XRDC).
BR, Petr
Hi@PetrS
Thanks for the information. Here is the list of clocks enabled in my project:
1 )Does XRDC need clock enabling? If yes, can you provide the information on how to enable it?
2) Does Crossbar need clock enabling? If yes, can you provide the information on how to enable it?
3)Do i need to Adde Cache_Ip driver into the project ?
4)Are there any other clocks that need to be enabled?
Hi,
I do not expect issue with clock gating. You can check DMA TCD dest address if is has desired value.
1-2) No, it is always enabled
3) if Dcache is enabled and buffer not placed in non cacheable area, then you should use it flush/invalidate cache if needed
4) depend on application, if peripheral is used/accessed must not be clock gated.
BR, Petr