Hi,
I am trying to check a new MCU for tracing capabilities using JTrace-PRO and Ozone.
I wrote a Jlink script file to assign the appropriate IO pins for trace functionality. When I try to set the tracepoint and watch the trace data I get the following error "J-Link API call failed: set tracepoint at 100024E8"
This is the complete log:
TotalIRLen = 4, IRPrint = 0x01
JTAG chain detection found 1 devices:
#0 Id: 0x0BA04477, IRLen: 04, CoreSight JTAG-DP
DPIDR: 0x0BE11477
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: 0x14770015)
Iterating through AP map to find AHB-AP to use
AP[0]: Core found
AP[0]: AHB-AP ROM base: 0xE00FE000
CPUID register: 0x410FD214. Implementer code: 0x41 (ARM)
Found Cortex-M33 r0p4, Little endian.
FPUnit: 8 code (BP) slots and 0 literal slots
Security extension: implemented
Secure debug: enabled
CoreSight components:
ROMTbl[0] @ E00FE000
ROMTbl[0][0]: E00FF000, CID: B105100D, PID: 000BB4C9 ROM Table
ROMTbl[1] @ E00FF000
ROMTbl[1][0]: E000E000, CID: B105900D, PID: 000BBD21 Cortex-M33
ROMTbl[1][1]: E0001000, CID: B105900D, PID: 000BBD21 DWT
ROMTbl[1][2]: E0002000, CID: B105900D, PID: 000BBD21 FPB
ROMTbl[1][3]: E0000000, CID: B105900D, PID: 000BBD21 ITM
ROMTbl[1][5]: E0041000, CID: B105900D, PID: 002BBD21 ETM
ROMTbl[0][1]: E0040000, CID: B105900D, PID: 000BBD21 Cortex-M33
Connected to target device.
Reset: Halt core after reset via DEMCR.VC_CORERESET.
Reset: Reset device via AIRCR.SYSRESETREQ.
Elf.GetBaseAddr(); // returns 0x10002000
Target.ReadU32 (0x10002000); // returns 0x30010000
Target.SetReg ("SP", 0x30010000);
Elf.GetEntryPointPC(); // returns 0x10002294
Target.SetReg ("PC", 0x10002294);
J-Link: Flash download: Bank 1 @ 0x10002000: Skipped. Contents already match
Elf.GetBaseAddr(); // returns 0x10002000
Target.ReadU32 (0x10002000); // returns 0x30010000
Target.SetReg ("SP", 0x30010000);
Elf.GetEntryPointPC(); // returns 0x10002294
Target.SetReg ("PC", 0x10002294);
Executed J-Link command "SelectTraceSource=1"
OnTraceStart() start
Trace port width:0x00000004
J-Link API call failed: set tracepoint at 100024E8
OnTraceStart() end
Startup complete (PC=0x100024D0)
Connection to target device lost.
Disconnected from target device.
I am a newbie to ETM on Cortex-M33 and have gone through the Segger Wiki website to understand how to setup trace. I do not see any data on trace data lines.
Can you please tell me what is going wrong in the setup and how I can debug the issue at hand?
Thanks
Radhika
I am trying to check a new MCU for tracing capabilities using JTrace-PRO and Ozone.
I wrote a Jlink script file to assign the appropriate IO pins for trace functionality. When I try to set the tracepoint and watch the trace data I get the following error "J-Link API call failed: set tracepoint at 100024E8"
This is the complete log:
TotalIRLen = 4, IRPrint = 0x01
JTAG chain detection found 1 devices:
#0 Id: 0x0BA04477, IRLen: 04, CoreSight JTAG-DP
DPIDR: 0x0BE11477
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: 0x14770015)
Iterating through AP map to find AHB-AP to use
AP[0]: Core found
AP[0]: AHB-AP ROM base: 0xE00FE000
CPUID register: 0x410FD214. Implementer code: 0x41 (ARM)
Found Cortex-M33 r0p4, Little endian.
FPUnit: 8 code (BP) slots and 0 literal slots
Security extension: implemented
Secure debug: enabled
CoreSight components:
ROMTbl[0] @ E00FE000
ROMTbl[0][0]: E00FF000, CID: B105100D, PID: 000BB4C9 ROM Table
ROMTbl[1] @ E00FF000
ROMTbl[1][0]: E000E000, CID: B105900D, PID: 000BBD21 Cortex-M33
ROMTbl[1][1]: E0001000, CID: B105900D, PID: 000BBD21 DWT
ROMTbl[1][2]: E0002000, CID: B105900D, PID: 000BBD21 FPB
ROMTbl[1][3]: E0000000, CID: B105900D, PID: 000BBD21 ITM
ROMTbl[1][5]: E0041000, CID: B105900D, PID: 002BBD21 ETM
ROMTbl[0][1]: E0040000, CID: B105900D, PID: 000BBD21 Cortex-M33
Connected to target device.
Reset: Halt core after reset via DEMCR.VC_CORERESET.
Reset: Reset device via AIRCR.SYSRESETREQ.
Elf.GetBaseAddr(); // returns 0x10002000
Target.ReadU32 (0x10002000); // returns 0x30010000
Target.SetReg ("SP", 0x30010000);
Elf.GetEntryPointPC(); // returns 0x10002294
Target.SetReg ("PC", 0x10002294);
J-Link: Flash download: Bank 1 @ 0x10002000: Skipped. Contents already match
Elf.GetBaseAddr(); // returns 0x10002000
Target.ReadU32 (0x10002000); // returns 0x30010000
Target.SetReg ("SP", 0x30010000);
Elf.GetEntryPointPC(); // returns 0x10002294
Target.SetReg ("PC", 0x10002294);
Executed J-Link command "SelectTraceSource=1"
OnTraceStart() start
Trace port width:0x00000004
J-Link API call failed: set tracepoint at 100024E8
OnTraceStart() end
Startup complete (PC=0x100024D0)
Connection to target device lost.
Disconnected from target device.
I am a newbie to ETM on Cortex-M33 and have gone through the Segger Wiki website to understand how to setup trace. I do not see any data on trace data lines.
Can you please tell me what is going wrong in the setup and how I can debug the issue at hand?
Thanks
Radhika