Can you see SWO output in Segger Studio?

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

  • Can you see SWO output in Segger Studio?

    I have a simple test app which throws information out of SWO via ITM stimulus 0. I can see the output by running JLink Commander with the command

    SWOView 8000000

    as I have it running at 8MHz. I get screenloads of text under JLink Commander

    Is there a way I can get SES to show that data as text whilst debugging under SES? I've tried some of the trace options but I either get no information or have managed to get the whole thing locked up completely. I'm not sure trace is quite right as I'm not actually tracing, I just want the SWO output.

    Bonus question - is there a way to give JLinkSWOViewer a frequency? It chooses 6000kHz when I run that off the command line but I'm running at 8MHz and 6MHz isn't an option for me (nrf52).

    I'd prefer to get this SWO data in SES anyway so I can debug and look at the SWO output at the same time.
  • Hi,

    Embedded Studio cannot display SWO output in the terminal.

    Instead we recommend using SEGGER Real Time Transfer (RTT) on Cortex-M devices.
    RTT has some advantages over SWO.

    Best regards
    Johannes
    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.
  • Is this true? I thought the example "Hello, world." used SWO to print console messages.

    Edit:

    Sorry. I was wrong. It's using RTT. I don't know why this site reformats my code to a single line :(.

    Source Code

    1. int printf(const char *fmt,...) { char buffer[128]; va_list args; va_start (args, fmt); int n = vsnprintf(buffer, sizeof(buffer), fmt, args); SEGGER_RTT_Write(0, buffer, n); va_end(args); return n;}

    The post was edited 1 time, last by Kenny ().