Hi,
wanted to know on how to rule out or convict :-) DMA for a particular memory corruption.
Can we set a watchpoint on the DAR (DMA Controller)? for the corrupted adddress?
What are the other methods to debug DMA bugs?
Thanks,
Dijo
Solved! Go to Solution.
>vector area is protected against writes.
Is it DDR? How do you implement protection?
>What are the other methods to debug DMA bugs?
CW provides trace buffer support. You can capture information such as transaction types, source ID, and other attributes.
You can configure the trace buffer to record all transactions or to record only:
• transactions with a specified source ID
• transactions with a specified target ID
• transactions whose address matches a specified masked address
Trace window is usedo see the events captured in the trace buffer during a debug session.
Please refer to section "EPPC Trace Buffer Support" in "Pro & Linux App Edition Targeting Manual.pdf"
Have a great day,
Pavel
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
>vector area is protected against writes.
Is it DDR? How do you implement protection?
>What are the other methods to debug DMA bugs?
CW provides trace buffer support. You can capture information such as transaction types, source ID, and other attributes.
You can configure the trace buffer to record all transactions or to record only:
• transactions with a specified source ID
• transactions with a specified target ID
• transactions whose address matches a specified masked address
Trace window is usedo see the events captured in the trace buffer during a debug session.
Please refer to section "EPPC Trace Buffer Support" in "Pro & Linux App Edition Targeting Manual.pdf"
Have a great day,
Pavel
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thanks again! Pavel.
Yes, it's DDR. Protection is done through TLBs.
Can you share a link to Pro & Linux App Edition Targeting Manual.pdf?
Was not successful in locating one.
Thanks,
Dijo
>Protection is done through TLBs.
MMU is located between the core and memory. So, it can provide protection for accesses from core.
DMA has direct access to the memory. MMU can't protect memory from DMA accesses and can't be a reason of DMA fault.
> Can you share a link to Pro & Linux App Edition Targeting Manual.pdf?
Please, see documentation at CW installation .\CodeWarrior PA V8.8\Help\Pdf\
Have a great day,
Pavel