Feb 03, 2020
02:28 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Feb 03, 2020
02:28 AM
Hello All,
I am facing a problem in configuring the DMA Controller i.e. configuring the Move Engine(MEx) of an active DMA channel for two processes:
1. Double Destination Buffer
2. DMA Channel transfer Interrupt Service Request
Does anyone has experienced the same problem. Please could you help me for this problem?
Hoping for a quick reply.
Thanking you!!
Regards,
Neeraj Singhal
I am facing a problem in configuring the DMA Controller i.e. configuring the Move Engine(MEx) of an active DMA channel for two processes:
1. Double Destination Buffer
2. DMA Channel transfer Interrupt Service Request
Does anyone has experienced the same problem. Please could you help me for this problem?
Hoping for a quick reply.
Thanking you!!
Regards,
Neeraj Singhal
5 Replies
Feb 03, 2020
01:53 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Feb 03, 2020
01:53 PM
In my version of iLLD, the DMA library was broken and failed to setup the interrupt.
You should check to see if you have the same problem.
No, I cannot give you code.
Good luck.
Toshi
You should check to see if you have the same problem.
No, I cannot give you code.
Good luck.
Toshi
Feb 04, 2020
12:57 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Feb 04, 2020
12:57 AM
Hi Toshi,
Thanks for replying! Could you tell me which version of iLLD library do you have? and Which part was broken for you?
Could you please elaborate so that I get to know what to check?
Regards,
Neeraj
Thanks for replying! Could you tell me which version of iLLD library do you have? and Which part was broken for you?
Could you please elaborate so that I get to know what to check?
Regards,
Neeraj
Feb 04, 2020
12:28 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Feb 04, 2020
12:28 PM
NeerajSDI wrote:
Hi Toshi,
Thanks for replying! Could you tell me which version of iLLD library do you have? and Which part was broken for you?
Could you please elaborate so that I get to know what to check?
Regards,
Neeraj
Check if your IfxDma_Dma_initChannel() calls IfxSrc_init() in it.
If there are no calls to IfxSrc_init(), then it's not configuring the interrupt.
Toshi
Feb 05, 2020
01:15 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Feb 05, 2020
01:15 AM
Hi Toshi,
I have checked the IfxDma_Dma_initChannel() function in IfxDma_Dma.c there is IfxSrc_init() present.
volatile Ifx_SRC_SRCR *src = IfxDma_getSrcPointer(channel->dma, channel->channelId);
IfxSrc_init(src, config->channelInterruptTypeOfService, config->channelInterruptPriority);
IfxSrc_enable(src);
When I transfer data from peripheral (UART) to Mem it goes through a SRC for UART RX pin.
Do I need to make SRC for DMA in order to receive the data from memory to peripheral?
Regards,
Neeraj
I have checked the IfxDma_Dma_initChannel() function in IfxDma_Dma.c there is IfxSrc_init() present.
volatile Ifx_SRC_SRCR *src = IfxDma_getSrcPointer(channel->dma, channel->channelId);
IfxSrc_init(src, config->channelInterruptTypeOfService, config->channelInterruptPriority);
IfxSrc_enable(src);
When I transfer data from peripheral (UART) to Mem it goes through a SRC for UART RX pin.
Do I need to make SRC for DMA in order to receive the data from memory to peripheral?
Regards,
Neeraj
Feb 05, 2020
12:43 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Feb 05, 2020
12:43 PM
The code looks correct.
The SRC is for handling the interrupt. You need to read the TC21x/TC22x/TC23x Family reference manual.
Toshi
The SRC is for handling the interrupt. You need to read the TC21x/TC22x/TC23x Family reference manual.
Toshi