; -------------------------------------------------------------------------------- ; @Title: Example for instrumentation based program trace for PowerPC ; @Description: ; Loads simple example application in SRAM ; and shows function trace build from intrumentation messages ; @Author: HLG ; @Chip: MPC55??, MPC5604B ; @Keywords: MPC55xx ; @Copyright: (C) 1989-2014 Lauterbach GmbH, licensed for use with TRACE32(R) only ; -------------------------------------------------------------------------------- ; $Id: functrace.cmm 7821 2014-10-29 11:06:58Z kjmal $ WinCLEAR FDX.RESet AREA.CLEAR SYStem.RESet Break.RESet SNOOPer.RESet FramePOS ,,,,Maximized SETUP.TabSize 4. SYStem.CPU MPC55XX SYStem.BdmClock 2.MHz SYStem.Option IMASKASM ON SYStem.Option IMASKHLL ON SYStem.Option FREEZE ON SYStem.Option WATCHDOG OFF SYStem.Option DisMode AUTO IF SIMULATOR() ( SYStem.CPU MPC5604B SYStem.Option DisMode VLE SYStem.MemAccess CPU ) ELSE ( SYStem.MemAccess NEXUS ) SYStem.Up IF CPUIS(MPC5601B)||CPUIS(MPC5602B) ( LOCAL &ppf &ppf=OS.PPF() PRINT %ERROR "Sorry, CPU " CPU() " is not supported by " OS.FILE.NAME(&ppf) " (too small SRAM)" ENDDO ) Register.Init IF !CPUIS(MPC560??)&&!CPUIS(SPC560???) // Device with MMU ? ( MMU.Set TLB1 1 0xC0000300 0x40000028 0x4000003F // Map 64 KB of SRAM to logical address space MMU.Set TLB1 2 0xC0000500 0xFFF0002A 0xFFF0003F // Map 1 MB of peripheral reg. to logical address space ) Data.Set EA:0x40000000++0xBFFF %Quad 0x55AA55AA55AA55AA // Initialize 48 KB of internal SRAM Data.LOAD.Elf "~~~~/sieve_functrace.elf" /RelPATH Go.direct main WAIT !RUN() FDX.METHOD BufferE FDX.TraceChannel FdxTraceSendBuffer FDX.TImestamp Rate 16000000. // <- your core's frequency here FDX.TImestamp Up IF SIMULATOR() FDX.TImestamp OFF FDX.SIZE 10000. FDX.Mode Stack FDX.Mode Compress OFF FDX.AutoArm ON FDX.OFF Trace.METHOD FDX Break.Set T32_Fdx_Waiting /Program /CMD "wait 200.ms" /RESUME SCREEN.ALways IF Analyzer() ( Analyzer.Init Analyzer.CLOCK 16.MHz Analyzer.Mode Stack Analyzer.AutoArm ON ) WinPOS 0% 0% 100% 40% List.auto WinPOS 0% 40% 70% 30% FDX.List WinPOS 0% 70% 70% 30% FDX.Chart.sYmbol WinPOS 71% 45% FDX.state ENDDO