Ozone with J-Trace (ITM_SendChar) (EFM32)

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

  • Ozone with J-Trace (ITM_SendChar) (EFM32)

    Hi

    Im trying to use the SWO for printf via ITM_SendChar();
    When i set a breakpoint within ITM_Sendchar() where it does write the character, it stopps. So writing seems OK.
    Also, on the J-Trace probe (i use the Target+Trace connector), the orange trace LED is on.

    But there is no output, i have tried:

    1. No debug session, just SWO listening via the J-Trace probe via JLinkSWOViewerCL.exe:

    rem change to segger tools
    cd C:\"Program Files (x86)"\SEGGER\JLink_V614e

    rem JLinkGDBServerCL
    JLinkSWOViewerCL -cpufreq 48000000 -device EFM32GG380F1024 -itmmask 0xFFFF -itmport 0 -outputfile "C:\Temp\Output.log"

    2. Debugging with Ozone

    First of all:
    J-Link: connected to target device
    J-Link: No trace clock present, trace may not work correctly.
    If application enables trace clock during execution, start of trace data may be missing.


    When i halt the application, "Instruction Trace" shows No Data.

    Then i Edit -> Trace Config -> SWO and connect to the target.


    >> Output via SWO active

    >> Deactivating SWO trace in favour of instruction trace.
    >> failed to activate SWO data capture: SWO trace cannot be used in conjunction with instruction trace

    When i set SWO Clock everywhere to auto, suddenly it seems okay:

    >> Output via SWO active
    >> Semihosting IO inactive

    >> Enabled output of control characters

    But there is still no output at all.



    Why is trace being activated? Why does the trace output not show any data?
    Why is SWO not showning any output?
    Is it correct that the trace led is only on when tracing is set, not if SWO is set?
    Is there some specific register i need to write to from my firmware?

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