Skip to main content

trace A53 ti-am64x not working with the timing - Community / Trace Analysis - Lauterbach Support

0

trace A53 ti-am64x not working with the timing Awaiting Agent

Hi,
I am trying to trace A53, trace my interrupt how often it comes.

here is my script.




//Data.Set E:0x43018170 %Long 0x000200F6 //warm-reset

RESet

SYStem.RESet

SYStem.CPU AM6422-CR5-MAIN0


;SYStem.Option WaitReset 500ms

system.MemAccess DAP

SYStem.JTAGCLOCK CTCK 10MHz

SYStem.Mode.Attach

Break

tronchip.set undef off

Data.Set E:0x43018170 %Long 0x000200F6 //warm-reset, refer to CTRLMMR_RST_CTRL Register on the TRM

wait 2s

SYStem.Mode.Attach

Break

// ===================== MEMORY CONFIGURATION =====================

DATA.Dump E:0x70080000 /Spotlight // MSRAM section allocated to R5F

// ===================== BINARY IMAGE LOAD =====================

DATA.LOAD C:\A53_compilation\Code\cmc_primary_boot_image_debug

GO


SCREEN.WAIT !STATE.RUN() 10s

SYStem.CPU AM64XX

CORE.ASSIGN 1.

;SYStem.Option WaitReset 500ms

system.MemAccess DAP

SYStem.JTAGCLOCK CTCK 10MHz

SYStem.Option.IMASKASM ON

SYStem.Option.IMASKHLL ON

SYStem.Mode.Attach

Break

SYStem.Option.CFLUSH ON

DATA.LOAD gpsmain


Map.bonchip 0x0--0xFFFFFFFFFFFFFFFF


Trace.autoinit ON
Trace.Method onchip
Trace.autoinit ON


etm.clock 800Mhz
etm.on
etm.ATBTrigger OFF ; should be unchecked
etm.timeMode CycleAccurate
etm.DataSuppress on

Mode.Hll
WinPOS 0. 0.
List.auto
WinPOS 0. 32.
WinPOS 50% 32.
area
print "break"
break.delete
Mode.Hll

symbol.case off
symbol.NAMESPACES *


Break.Set juntuerror

list main
break.set main

GO



Then, I set a "trace enable" in the interrupt.

after the break:

N.2024.03.000167751

we trace.list , it is all 0.
I attached the lauterbach verion and trace 0 timing example


Thanks

Official response

Faiez Louati

<p>Hello Jun,</p>

<p><br></p>

<p>This is expected when using on-chip trace with selective trace.</p>

<p>If you open the ETM window, you will notice that the time mode in your case is set to Off or Cycle accurate. To get timing information, you need to set it to Cycle Accurate, which generates timestamps from the chip. note that this also requires full program trace (not just selective trace with traceenabled braekpoint). So you have to trace the full program flow and then with the Trace.find you can filter the trace to display the interrupt calls only.</p>

<p>Alternatively, you can use off-chip trace (if you have the Power Trace module) with External time mode, which relies on the tool’s timing. This approach is less accurate than cycle-accurate timing but generates significantly less bandwidth and provides a much larger trace buffer. You can also use cycle-accurate timing with off-chip trace tools if needed.</p>

<p>Please refer to the link below for more details about the possible tools configuration for AM6422:</p>

<p><a href="https://www.lauterbach.com/supported-platforms/chips/am6422" title="https://www.lauterbach.com/supported-platforms/chips/am6422"&gt;b017b1fa0742557f58a8f5f4404926bd;

<p>Please let me know if you have any questions.</p>

Comments (2)

Jun Tu
Besides, is there any other settings that in our script not working fine? Do you have an example? Thanks
Jun Tu
By the way we tried 800MHZ, 1000 MHZ, AND 1200MHZ, but the trace interval is always 0. Thanks.

Add a comment

ID-0
To prove you are a human, please tell us the text you see in the CAPTCHA image