Write watch on the memory location modified by DMA

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

Write watch on the memory location modified by DMA

Jump to solution
1,952 Views
rinipatel
Contributor III

Hello,

Why the debugger can't monitor a change/break-at the memory location which is read/written using DMA? I observed this behavior on KSDK 1.2 while debugging with OpenSDA. Just curious to know.

Thank you

Rini

Tags (2)
0 Kudos
Reply
1 Solution
1,657 Views
Hui_Ma
NXP TechSupport
NXP TechSupport

Hi

DMA module works as a coprocessor, which doesn't be  monitored by ARM Cortex-M0+ debug module during DMA transfer.


Wish it helps.

Have a great day,
Ma Hui
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
Reply
5 Replies
1,658 Views
Hui_Ma
NXP TechSupport
NXP TechSupport

Hi

DMA module works as a coprocessor, which doesn't be  monitored by ARM Cortex-M0+ debug module during DMA transfer.


Wish it helps.

Have a great day,
Ma Hui
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply
1,657 Views
Hui_Ma
NXP TechSupport
NXP TechSupport

Hi

Could you let us know which IDE software you are using? I checked with IAR IDE software with KSDK V1.2 eDMA demo & TWR-K60D100M board. I could debug and check the memory value modification.


Wish it helps.

Have a great day,
Ma Hui
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply
1,657 Views
rinipatel
Contributor III

Hello,

I'm using KDS v3.0 with KSDK 1.2.

When I put write Watchpoint on memory location directly accessed by core, it works fine. But when the same address is modified using DMA, debugger doesn't break on the write access.

Board is TWR-KL43.

Regards,

Rini

0 Kudos
Reply
1,657 Views
Hui_Ma
NXP TechSupport
NXP TechSupport

Hi

Please check my test result at below picture:

KDS.jpg

I could find the SRAM address 0x1fffe09c as destAddr[] array value modification using DMA module.


Wish it helps.

Have a great day,
Ma Hui
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply
1,657 Views
rinipatel
Contributor III

Hello,

I apologize for the confusion. Let me rephrase the question.

Untitled1.png

As seen from the snap, I've put write Watchpoint on address 0x1fffe0a, which is destAddr[] array value.

Now when the core writes to this address, for e.g.

          for(i=0; i<BUFFER_SIZE; i++)

               destAddr[i] = 0;

the breakpoint is hit on each write access and debugging is halted. But later on when the same address is modified using DMA, even though I'm able to see the modification in memory watch, write breakpoint is not getting hit.  Is it because debugger cannot monitor DMA transfer or anything like that?

Best regards,

Rini

0 Kudos
Reply