It is pretty straight-forward to use J-Link RTT Viewer on Windows (as described in the Debugging with Real Time Terminal tutorial). Is there a similar viewer to use with GNU/Linux?
It is pretty straight-forward to use J-Link RTT Viewer on Windows (as described in the Debugging with Real Time Terminal tutorial). Is there a similar viewer to use with GNU/Linux?
I assume that you have already installed the latest Software and documentation pack from SEGGER.
To use the RTT Viewer equivalent on GNU/Linux, you must first set up the connection using JLinkExe. Provided that your DK or dongle is connected, starting JLinkExe from a terminal should look something like this:
you@yourcomputer:~$ JLinkExe
SEGGER J-Link Commander V5.10u (Compiled Mar 17 2016 19:06:22)
DLL version V5.10u, compiled Mar 17 2016 19:06:19
Connecting to J-Link via USB...O.K.
Firmware: J-Link OB-SAM3U128-V2-NordicSemi compiled Mar 15 2016 18:03:17
Hardware version: V1.00
VTref = 3.300V
Type "connect" to establish a target connection, '?' for help
J-Link>
JLinkExe may decide to update the firmware on the Segger programmer IC, which will give additional information between "Connecting to J-Link via USB..." and "O.K."
The final line is a prompt. The "connect" command will present some choices along with default values and options. Defaults are mostly fine, but use "SWD" for target interface.
If a connection is established the final lines of output should state "Cortex-M0 identified" (for nRF51) or "Cortex-M4 identified" (for nRF52), followed by the "J-Link>" prompt:
(...)
Cortex-M4 identified.
J-Link>
Now, from another terminal, start JLinkRTTClient. This program should connect automatically:
you@yourcomputer:~$ JLinkRTTClient
###RTT Client: ************************************************************
###RTT Client: * SEGGER MICROCONTROLLER GmbH & Co KG *
###RTT Client: * Solutions for real time microcontroller applications *
###RTT Client: ************************************************************
###RTT Client: * *
###RTT Client: * (c) 2012 - 2014 SEGGER Microcontroller GmbH & Co KG *
###RTT Client: * *
###RTT Client: * www.segger.com Support: [email protected] *
###RTT Client: * *
###RTT Client: ************************************************************
###RTT Client: * *
###RTT Client: * SEGGER J-Link RTT Client Compiled May 27 2016 17:03:51 *
###RTT Client: * *
###RTT Client: ************************************************************
###RTT Client: -----------------------------------------------
###RTT Client: Connecting to J-Link RTT Server via localhost:19021 Connected.
SEGGER J-Link V5.12g - Real time terminal output
J-Link OB-SAM3U128-V2-NordicSemi compiled Mar 15 2016 18:03:17 V1.0, SN=682852586
Process: JLinkExe
You will now receive RTT output.
If you happen to like telnet you can use it instead of JLinkRTTClient:
you@yourcomputer:~$ telnet localhost 19021
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
SEGGER J-Link V5.12g - Real time terminal output
J-Link OB-SAM3U128-V2-NordicSemi compiled Mar 15 2016 18:03:17 V1.0, SN=682852586
Process: JLinkExe
You will now receive RTT output.
Works like a charm
Note that to get the tab completion behavior to work correctly via the telnet client, we need to enter 'character at a time' mode. To do this, after connecting, enter "^]", then "mode character":
rtt_cli:~$ ^] telnet> mode character rtt_cli:~$ app_size balloc clear cli counter dynamic error flashlog history log log_msg nordic print python queue reset resize stack_overflow
Nice! "mode character" enables tab completion. But on my system it disables the backspace functionality (I cannot delete already written characters). Strangely enough, Ctrl+Backspace does the trick. Is it possible to enable normal backspace behaviour?
Nice! "mode character" enables tab completion. But on my system it disables the backspace functionality (I cannot delete already written characters). Strangely enough, Ctrl+Backspace does the trick. Is it possible to enable normal backspace behaviour?