Debugging DMA corruption - MPC8555

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

Debugging DMA corruption - MPC8555

Jump to solution
1,240 Views
dijo
Contributor III

Hi,

wanted to know on how to rule out or convict :-) DMA for a particular memory corruption.

  • It's MPC8555
  • The corruption is in the vector area (starts at 0x0 in our system)
  • The vector area is protected against writes.

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

Tags (2)
1 Solution
895 Views
LPP
NXP Employee
NXP Employee

>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!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
3 Replies
896 Views
LPP
NXP Employee
NXP Employee

>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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
895 Views
dijo
Contributor III

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

0 Kudos
895 Views
LPP
NXP Employee
NXP Employee

>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