Debugging DMA corruption - MPC8555

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Debugging DMA corruption - MPC8555

跳至解决方案
2,264 次查看
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

标记 (2)
1 解答
1,919 次查看
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 项奖励
回复
3 回复数
1,920 次查看
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 项奖励
回复
1,919 次查看
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 项奖励
回复
1,919 次查看
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