Hi,
I am trying to enable the ETM Tracing with Ozone on a ARM Cortex-M3 MCU.
But when starting a debugging session there is no instruction data, also I can't get the half-sync 16'h7fff, I always get 32'h7fffffff when the target is halted.
Can Ozone configure the right value to regs in ETM/TPIU component of Cortex-M3 automatically?
As no matter what trace pins width I use the TPIU_CSPSR keep the default value, but when I use the "Cortex-M Trace Reference Board" bought from Segger, the register is changed correctly. I just follow the TraceExample provided on Segger.com.
==============================================================================
Tutorial Project: J-Trace Streaming Trace tutorial project
The following is a bare bone example with tracing at maximum trace clock speed the Trace Reference Board supports.
Max. Trace clock speed + JLinkScript sample: ST_STM32F407_84MHz_TraceExample.zip
===============================================================================
The Ozone output log is as blow:
Debug.Start();
Project.SetJLinkScript ("./Traceconfig.JLinkScript");
Executed J-Link command "ScriptFile=D:/Trace/Proj/segger/Traceconfig.JLinkScript"
Device "CORTEX-M3" selected.
Found SW-DP with ID 0x2BA01477
DPIDR: 0x2BA01477
Scanning AP map to find all available APs
AP[1]: Stopped AP scan as end of AP map has been reached
AP[0]: AHB-AP (IDR: 0x04770021)
Iterating through AP map to find AHB-AP to use
AP[0]: Core found
AP[0]: AHB-AP ROM base: 0xE00FF000
CPUID register: 0x410FC331. Implementer code: 0x41 (ARM)
Found Cortex-M3 r0p1, Little endian.
FPUnit: 6 code (BP) slots and 2 literal slots
CoreSight components:
ROMTbl[0] @ E00FF000
ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB004 ???
ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 000BB006 ???
ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 000BB007 ???
ROMTbl[0][3]: E0000000, CID: B105E00D, PID: 000BB005 ???
ROMTbl[0][4]: E0040000, CID: B105900D, PID: 000BB927 ???
ROMTbl[0][5]: E0041000, CID: B105900D, PID: 000BB926 ???
Connected to target device.
Reset: Halt core after reset via DEMCR.VC_CORERESET.
Reset: Reset device via AIRCR.SYSRESETREQ.
Executed J-Link command "SetRTTAddr 0x20000400"
Executed J-Link command "SelectTraceSource=1"
OnTraceStart() start
Start: Initializing trace pins
DBGMCU Init
End: Initializing trace pins
OnTraceStart() end
Any Ideas whats going wrong here?
Thanks!
--Shuai
PS :
Hardware set up :
Windows10
Segger embedded studio v4.16
Ozone v3.10d
J-trace PRO for cortex M processor probe
Jlink Driver v650
I am trying to enable the ETM Tracing with Ozone on a ARM Cortex-M3 MCU.
But when starting a debugging session there is no instruction data, also I can't get the half-sync 16'h7fff, I always get 32'h7fffffff when the target is halted.
Can Ozone configure the right value to regs in ETM/TPIU component of Cortex-M3 automatically?
As no matter what trace pins width I use the TPIU_CSPSR keep the default value, but when I use the "Cortex-M Trace Reference Board" bought from Segger, the register is changed correctly. I just follow the TraceExample provided on Segger.com.
==============================================================================
Tutorial Project: J-Trace Streaming Trace tutorial project
The following is a bare bone example with tracing at maximum trace clock speed the Trace Reference Board supports.
Max. Trace clock speed + JLinkScript sample: ST_STM32F407_84MHz_TraceExample.zip
===============================================================================
The Ozone output log is as blow:
Debug.Start();
Project.SetJLinkScript ("./Traceconfig.JLinkScript");
Executed J-Link command "ScriptFile=D:/Trace/Proj/segger/Traceconfig.JLinkScript"
Device "CORTEX-M3" selected.
Found SW-DP with ID 0x2BA01477
DPIDR: 0x2BA01477
Scanning AP map to find all available APs
AP[1]: Stopped AP scan as end of AP map has been reached
AP[0]: AHB-AP (IDR: 0x04770021)
Iterating through AP map to find AHB-AP to use
AP[0]: Core found
AP[0]: AHB-AP ROM base: 0xE00FF000
CPUID register: 0x410FC331. Implementer code: 0x41 (ARM)
Found Cortex-M3 r0p1, Little endian.
FPUnit: 6 code (BP) slots and 2 literal slots
CoreSight components:
ROMTbl[0] @ E00FF000
ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB004 ???
ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 000BB006 ???
ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 000BB007 ???
ROMTbl[0][3]: E0000000, CID: B105E00D, PID: 000BB005 ???
ROMTbl[0][4]: E0040000, CID: B105900D, PID: 000BB927 ???
ROMTbl[0][5]: E0041000, CID: B105900D, PID: 000BB926 ???
Connected to target device.
Reset: Halt core after reset via DEMCR.VC_CORERESET.
Reset: Reset device via AIRCR.SYSRESETREQ.
Executed J-Link command "SetRTTAddr 0x20000400"
Executed J-Link command "SelectTraceSource=1"
OnTraceStart() start
Start: Initializing trace pins
DBGMCU Init
End: Initializing trace pins
OnTraceStart() end
Any Ideas whats going wrong here?
Thanks!
--Shuai
PS :
Hardware set up :
Windows10
Segger embedded studio v4.16
Ozone v3.10d
J-trace PRO for cortex M processor probe
Jlink Driver v650