MPC5777c eTPU Debugger Selection

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

MPC5777c eTPU Debugger Selection

1,303 次查看
lukezhang
Contributor III

Hi,

I'm a newer to the MPC5777c chips and my project highly depends on their eTPU 2+ functionality. Now I need to choose a proper debugger for it. My choice is between lauterbach JTAG and lauterbach NEXUS, but I'm preferred to use JTAG since I don't quite need all NEXUS's advanced features and it costs more. So I've found that lauterbach JTAG LA-3500 seems to be the right one and it do states that it supports this chip and includes an eTPU debugger. But in the MPC5777C reference manual, the eTPU Chapter, it states "User debugs eTPU code, accessing special Trace/Debug features via Nexus interface" and doesn't mention JTAG at all. So I'm wondering which version I should trust and to go with?

Cheers,

Luke

1 回复

1,049 次查看
rweiss
Contributor V

Hi Luke,

the JTAG Debugger is sufficient to debug both e200 and eTPU cores. The NEXUS standard not only covers tracing, but also debugging. On MPC5XXX, the debug part of NEXUS is done through JTAG, which in the NEXUS world is called "NEXUS class 1". In the case of the eTPU, this includes observing eTPU registers (while halted), data (while halted and running) and using single step and breakpoints. Tracing is covered with NEXUS classes 2 and 3, which then requires debug tools with trace support. In NEXUS class 2 allows observing the program flow in real-time, class 3 adds data trace for the eTPU's loads and stores. The trace extension not only allows to observe the program flow and data in real-time, but also enables run-time measurements, e.g. to find worst case run-times.

As the eTPU is used for time critical tasks like engine control, often it is not possible to use single step or breakpoints without negative impact on the controlled hardware. If you select LA-3505 (PowerDebug PRO) instead of LA-3500, you can add a NEXUS trace extension later if required. Configuration examples are here: TRACE32 Debugger for MPC5777C 

Best regards,

Reinhard