Debugging DMA corruption - MPC8555

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Debugging DMA corruption - MPC8555

ソリューションへジャンプ
2,269件の閲覧回数
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,924件の閲覧回数
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,925件の閲覧回数
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,924件の閲覧回数
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,924件の閲覧回数
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