예전에 이야기 들었던 환상적인(?) 디버깅이 바로 TRACE 였던 듯
JTAG로는 단순(?)한 breakpoint 정도 밖에 못하는데
TRACE를 쓰면 실시간으로 호출되는 프로세스의 사용 시간이라던가
장치에 따라서는 Logic Analyzer를 포함하기에 비쌀수 밖에 없겠구만?
20pin 이라고 다 되는건 아니고
SWO/SWD를 지원하거나 ETM Connector를 지원해야 Trace가 가능 할 것으로 보인다.

[링크 : https://www.arm.com/files/pdf/AT_-_Advanced_Debug_of_Cortex-M_Systems.pdf]
[링크 : http://trace32.com/wiki/index.php/ARM_ETM_Trace와_PowerTrace]
표현이 다르긴 한데.. ETM이나 ETB로 표기되나보다(아니면 특허로 인해서 명칭을 다르게 하거나)
XDS560 Trace 이야기는 나오는데 XDS510USB는 자사 홈페이지 외에는 Trace 관련 내용이 안보이네
- F24xx
- C54xx
- C67xx
- C62xx
- C642x
- C64x+
- C674x
- DaVinci™
- TMS470
- OMAP™
| - F28xx
- C55xx
- C672x
- C641x
- C645x
- DM64x
- DM355
- TMS570
- Cortex™
|
- Advanced emulation controller provides high performance
- Supports Embedded Trace Buffer (ETB) on selected TI devices
- Operates off PC/laptop USB port, no internal adapter required
- 14-pin JTAG header
|
[링크 : http://www.spectrumdigital.com/xds510-usb-jtag-emulator/]
[링크 : http://processors.wiki.ti.com/index.php/XDS_Target_Connection_Guide#JTAG_header_information]
어!? ETB 지원이 없는 목록에 C28x가 포함이네.. ㅠㅠ
Device SupportPlease check your datasheet for details. The Embedded Trace buffer is available and has been used on the below example devices: - ARM926: DM644x, DM646x, DM33x, DM35x, DM36x, OMAP-L13x, AM17x, AM18x.
- ARM11: OMAP2420, OMAP2430
- Cortex-A: all AM devices (AM335x, AM35xx, AM37xx, AM38xx), DM37xx, DM81xx, OMAP34xx, OMAP35xx, OMAP44x.
- Selected C6000 devices: TNETV3020, TCI648x, TCI66xx, C66xx
- DSP+ARM: C6A816x (single shared ETB)
- Devices with NO ETB support: Cortex-M, Cortex-R, C645x, C642x, DM64x, DM643x, C64x, C62x, C67x, C55x, C54x, C28x, C24x.
|
[링크 : http://processors.wiki.ti.com/index.php/Embedded_Trace_Buffer]
[링크 : http://processors.wiki.ti.com/index.php/Debugging_With_Trace#How_and_when_to_use_trace:]
약자들의 향연! 그나저나.. ETB는 없어도 ITM은 있는데 printf 스타일 디버깅은 가능하다는건가?
아니면 TPIU라는걸 통해서 트레이스 가능하다는건가?
– Full-featured debug solution • Serial Wire JTAG Debug Port (SWJ-DP) • Flash Patch and Breakpoint (FPB) unit for implementing breakpoints • Data Watchpoint and Trigger (DWT) unit for implementing watchpoints, trigger resources, and system profiling • Instrumentation Trace Macrocell (ITM) for support of printf style debugging • Trace Port Interface Unit (TPIU) for bridging to a Trace Port Analyzer |

[링크 : http://www.ti.com/lit/ds/symlink/lm3s1607.pdf]
ITM은 printf 대신에 사용하고, 몇줄 쓰지 않아서 Cortex-R 등에서 유용하게 간접적으로 쓸 수 있는 방법이다
[링크 : http://www.epnc.co.kr/news/articleView.html?idxno=45715]