[SOLVED] [J-Trace] What is the maximum timeline instruction buffer?

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

  • [J-Trace] What is the maximum timeline instruction buffer?

    Hello!

    I'm using J-Trace with reference Cortex-M board configured in Ethernet mode, 50MHz SWD, 168MHz CPU frequency, 4bit trace port width and maximum instruction count to 20G.
    Even if I select larger maximum instruction count I always get about 800ms of past instruction trace timeline data.
    What is the maximum size buffer and how it is affected by other parameters?
    Is it possible to store longer timeline for offline analyze?
  • [SOLVED] [J-Trace] What is the maximum timeline instruction buffer?

    Instruction count is set to 20G but I get exactly 67,351,178 instruction no matter how long I run the trace.

    LiveTrace tab in device manager shows it is using minimum buffer but SWV tab shows it is using all Host Buffer and have red/orange color.
    Why it is using SWO anyway and how to make the host buffer larger?
  • Hi,
    Thank you for your inquiry.

    Currently we have a 64Mb buffer on Host side (for legacy reasons).
    This handling will change in the near future to be unlimited.
    Stay up-to-date regarding J-Link:
    segger.com/notification/subscribe.php?prodid=7,94

    How many instructions fit into this buffer depends on the instruction packet size (between 1-4 bytes per packet).
    This is device and application dependent.

    Best regards,
    Fabian
    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.
  • This is good news, thank you!

    What buffer size can we expect in future release?

    Do you plan to make a continuous download of trace data? It would be very helpful to diagnose errors which happens very rarely and to do it offline on saved data chunk.

    Best regards,
    Maciej
  • Hi Maciej,
    This depends on the size of the SSD you are using.

    Best regards,
    Fabian
    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.
  • SSD? You mean hard drive? So it will depend only on hard drive space and continuous download of time line will be possible?
    In other words: now if I stop the trace it loads the timeline with only about 800ms. In future release if I stop the timeline it will be possible to analyze whole data?
  • Hi Maciej,
    HDD would not be fast enough. We recommend the usage of an SSD.

    Technically, it will be possible to analyze the whole data in Ozone.
    But:
    The time it takes to analyze the trace data is proportional to the amount of trace data that was recorded.
    So If you have a large amount of trace data (e.g. a couple of terabytes), it might take hours for Ozone or any trace analyzer to parse and analyze the data.
    Or in other words if you would record 5 hours of trace data, it may take 5 hours to do the analysis.

    The same applies for the search of symbols, etc.

    So if this approach would be a solution for you depends strongly on your setup.

    Normally it would be enough to set breakpoints on your fault handlers.
    Since the last 64mb of trace data are already available when the breakpoint is hit, this should be sufficient for 99% of all cases.

    For clarification:
    The 64mb buffer contains the last 64mb of instructions executed, not the first.

    Best regards,
    Fabian
    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.