[SOLVED] Data Trace with Jtrace PRO and Ozone on ARM R5 core!

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [SOLVED] Data Trace with Jtrace PRO and Ozone on ARM R5 core!

    Hi.
    My setup has ARM R5 core with JTrace PRO and ozone debugger. It has 4 Trace data pins and 1 pin for trace clock (totally 5 pins).

    I am trying to evaluate/explore the data trace part of it, but observing that the data sampling is happening at approx. 500Hz (2 msecs) on the ozone timeline view (In the first attachment, in timeline view you can observe this ). I’m just incrementing and decrementing two counters (global variables).
    Observed the same result (data sampling of 500 Hz) when clock is running at 40 MHz or 80 MHz.
    Observed the same result (data sampling of 500 Hz) when selecting 10Khz (no changes with any rate) sampling setting on OZONE .


    Please help me with this!

    Thanks,
    Prashanth
    Images
    • Data_Trace_Ozonw.PNG

      97.01 kB, 1,365×729, viewed 509 times
    • Test_SMPU.PNG

      107.35 kB, 1,366×736, viewed 574 times
  • Hello Prashanth,

    Thank you for your inquiry.
    Please note that the data trace that you refer here to is independent from the 5 pin trace that you use for instruction tracing.
    Instead it uses the debug interface and HSS.
    segger.com/products/debug-prob…#data-acquisition-via-hss
    Just for awareness.

    How do you detect the 500 Hz sampling frequency? From the screenshots it is not apparent.
    If you refer to unexpected timeline values, make sure that under trace settings the correct CPU clock speed is set.
    Otherwise the x-axis on the timeline will be wrong.

    To see the actual data samples open the Data Sampling window under View->Data Sampling and then open the Samples tab.
    There you should see data samples approximately at the frequency that you have set as the sampling frequency.
    Can you confirm?

    Best regards,
    Nino
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Hi Nino,
    Thanks for your reply!
    I understand that the 5 pin trace are not responsible for the data tracing. So how can we enable data tracing on Ozone then?
    Is 5 pin trace only used for instruction and cycle accurate traces?

    On the other things, I increased JTAG interface speed to 25 Mhz (from 4Mhz earlier) , but am still able to see data trace going up to approx 2Khz only. Please find the attachment of all the settings, clock and sampling window as well.
    Sampling Frequency on the Data sampling window has NO effect.
    Images
    • Data_Sampling_Ozone.PNG

      21.03 kB, 843×437, viewed 374 times
    • JLink_Settings_Ozone.PNG

      15.94 kB, 386×434, viewed 333 times
    • Trace_Settings_Ozone.PNG

      10.29 kB, 380×492, viewed 368 times
  • Hello,

    prashanth.prakash wrote:

    So how can we enable data tracing on Ozone then?
    It is not supported. Data tracing is only supported by a hand full of Cortex-A and -R devices and would require a 16 bit trace interface to avoid overflows.
    As our customers typically do not want to waste so many pins for just debugging we do not provide a trace probe for such interface and feature.

    prashanth.prakash wrote:

    Is 5 pin trace only used for instruction and cycle accurate traces?
    Correct.


    prashanth.prakash wrote:

    Sampling Frequency on the Data sampling window has NO effect.
    Ok I see. This is reproducible. We will look into this and fix it.

    Best regards,
    Nino
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Hello Prashanth,

    data trace via the trace pins is not supported by either J-Trace Pro nor Ozone.
    Currently there are no plans to add support for this for the existing trace probes.

    Best regards,
    Nino
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • There is no data trace support available in our tools or software.
    You can of course extract the ETB data manually and write your own analyzer but this is outside of our support scope.
    For this the trace data can be dumped into a trace file:
    wiki.segger.com/J-Link_Command_Strings#TraceFile

    But for data trace you would have to overwrite our default trace init of the Arm Coresight componetns (ETM, TPIU, etc.) with a JlinkScript:
    wiki.segger.com/J-Link_script_files

    Please understand that we can't provide any support for this.

    Best regards,
    Nino
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Thank you Nino!

    I have also witnessed that my instruction trace data is wiped off after resuming from a breakpoint , if I hit another breakpoint, do not see all the instruction trace. Is this normal ? What to do if I want the complete data?

    I believe the instruction tracing in unlimited right ?


    Thanks
  • Hello,

    yes that is normal. The instruction trace window will only show the last ~64 MB of raw trace data received. Depending on your target device that is typically somewhere between 50-100 million instructions. Default options in Ozone is to display 10M instructions. You can increase that value in the trace settings options.
    What is unlimited is the code coverage and code profile which is done in the live analysis.

    Currently if you want to dump all instruction trace data you need to do the trace file approach as mentioned above. That will dump all raw trace data onto your disk so you can analyze it later.
    For the future we plan to expand the instructions that can be displayed in the instruction trace window in Ozone to be only limited by your hard disk space.
    But we have no fixed time schedule yet for that. Also the usefulness of such feature for debugging is quite limited as loading the data to be displayed in e.g. Ozone is proportional to your recording time. So if you record for 10 Minutes. You need to wait 10 Minutes for Ozone to load and display that data.

    So if you need unlimited instruction trace data for whatever reason we recommend to use the trace file approach and write your own analyzer tool to provide the information that you need for your tests etc.

    Please note that you are currently writing in our community forum with no guarantee for support.
    As you are working for one of our partners you qualify for support via our official and monitored support channels.
    See my signature for more details.
    So if you have any further questions we recommend to contact us via our support channel.

    Best regards,
    Nino
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Thank you so much for the support Nino! This helps !

    I will definitely reach out to your support channel.

    Last question on this, I'm not able observe the data beyond approx 1.74 secs on the "Timeline" window.
    Was trying to evaluate the maximum length (how long) of data that can be seen in Timeline window for cycle accurate trace?

    Couldn't find any settings to increase them. Also observed weird cycles on the Timeline window, the calls are just stacking up. Please find the attachment.
    It's a simple Increment and decrement functions in a while(1) with some delay.


    Thanks!
    Images
    • TimeLine_Issue.PNG

      76.07 kB, 1,147×726, viewed 363 times
  • Hi,

    we received your request in parallel via our support system.
    To make sure that no data is lost between the different channels this thread will be closed now.

    Best regards,
    Nino
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.