I'm finally attempting to use my J-Trace Cortex-M. No luck so far.
The reference project seems to work. No problem. I can capture start, stop, and examine traces quite easily.
My actual target board uses an STM32F746IG with a SYSCLK of 200 MHz. I've entered those into the project definition, pointed to the ELF file, and the project is created properly. I can see the source code in the window. Then, I configure trace to use the trace pins, and a 200 MHz CPU. I select a 4 bit width. Again, those inputs are accepted and saved to the project.
Then, I set a Set Tracepoint(Start) on an early source line. No problem, I get the appropriate icon. Here's where things go wrong.
If I Download and Reset Program, the Tracepoint icon disappears. When I attempt to restore it (right click), I get the message "J-Link API call failed: set tracepoint at 800FB6A. The traceclk to the probe is 8 MHz rather than 100 MHz.
If instead of Download and Reset Program, I Attach to Running Program or Attach and Halt Program, I get the Cortex-M HardFault Exception Window with a 100 MHz traceclk. I'm delighted to see a nice, clean traceclk. However, since I was never able to establish that Tracepoint(Start) point, I have no trace data to see HOW I got to the HardFault.
My sense is that I'm very close, as I can download the code, set a Tracepoint in the source window and (under some circumstances) get a 100 MHz traceclk. Perhaps I'm missing some important step to get the program kicked off with the trace enabled properly. I've haven't been able to capture a trace from the board yet.
(The traceclk signal integrity looks quite good with a 1 GHz scope probe and the data lines are routed very similarly.)
Suggestions?
The reference project seems to work. No problem. I can capture start, stop, and examine traces quite easily.
My actual target board uses an STM32F746IG with a SYSCLK of 200 MHz. I've entered those into the project definition, pointed to the ELF file, and the project is created properly. I can see the source code in the window. Then, I configure trace to use the trace pins, and a 200 MHz CPU. I select a 4 bit width. Again, those inputs are accepted and saved to the project.
Then, I set a Set Tracepoint(Start) on an early source line. No problem, I get the appropriate icon. Here's where things go wrong.
If I Download and Reset Program, the Tracepoint icon disappears. When I attempt to restore it (right click), I get the message "J-Link API call failed: set tracepoint at 800FB6A. The traceclk to the probe is 8 MHz rather than 100 MHz.
If instead of Download and Reset Program, I Attach to Running Program or Attach and Halt Program, I get the Cortex-M HardFault Exception Window with a 100 MHz traceclk. I'm delighted to see a nice, clean traceclk. However, since I was never able to establish that Tracepoint(Start) point, I have no trace data to see HOW I got to the HardFault.
My sense is that I'm very close, as I can download the code, set a Tracepoint in the source window and (under some circumstances) get a 100 MHz traceclk. Perhaps I'm missing some important step to get the program kicked off with the trace enabled properly. I've haven't been able to capture a trace from the board yet.
(The traceclk signal integrity looks quite good with a 1 GHz scope probe and the data lines are routed very similarly.)
Suggestions?