[SOLVED] Does STRACE functionality must halt?

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

  • [SOLVED] Does STRACE functionality must halt?

    We're trying to develop a tool based on the ETM and STRACE functionality of J-Trace SDK. We want to read the instructions flow infinitely in real time. When I read the manual, I found that the section Simple Instruction Trace API (STRACE) may meet our requirement. But based on the manual, I have some confusions. Could you please help?
    1. When the SDK is reading the instructions out of the buffer inside the J-Trace, can the J-Trace collect ETM data from the target at the same time?
    2. If not, the data is lost, right?
    3. The read operation is limited to 0x10000 bytes length, but we need to get the whole execution trace. We didn’t find any API to do so.

    The post was edited 2 times, last by SilentDawn ().

  • Hello,

    We received your inquiry via our support system as well. Please try to use only one communication at a time to avoid delays and lost information between channels.

    To answer the questions quickly for the community:
    1. The instruction data (backtrace) can only be read while the target is halted. Live code coverage and profiling data on the other hand can be read at any time during execution.
    2. If you mean backtrace, then no the data is not lost as the target is halted and does not produce new trace data.
    3. The read function can be called multiple times until it returns 0 bytes. Then the buffer is empty.

    To avoid lost information between the open communication 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.