Remote Debugging via the SEGGER J-Link is now possible over the internet even if the target sits behind a firewall. With the introduction of SEGGER's J-Link Tunnel Mode, it is now possible to quickly access a J-Link connected to a PC on a remote network. Software development of a product can be done in multiple locations and without regards to the location of the target hardware, as is often necessary.
The PC (Server) hosting the connected J-Link and target hardware needs nothing more; no need of an expensive IDE license or production flash programming software. All that is required is a running instance of the SEGGER J-Link Remote Server in Tunnel Mode. Once the J-Link is connected, the SEGGER Tunnel Server (Tunnel) offers up the J-Link for a remote debugging session. The user of the remote PC (Client) may then connect via the Tunnel Server to the desired J-Link and target hardware. From the engineers perspective, it is as if the hardware is on their desk.
The host site does not gain access to any proprietary or intellectual property controlled code which would typically require lengthy Non-Disclosure Agreements (NDAs) and legal interaction to facilitate such a project. Even with the correct legal paperwork in place, considerable issues are often encountered as the proper tools and the best engineer to accomplish the work may not be available at the hardware site.
“With companies offering their services across borders, it becomes an increasingly important task to find affordable ways for developing and supporting products by international teams. We have used the Tunnel Server ourselves with great success when we work with silicon vendors to implement and test J-Link support at the very early stages”, says Alexander Gruener, J-Link Product Manager of SEGGER.
Behind the technology
Starting the J-Link Remote Server in Tunnel Mode triggers the Remote Server to connect with the Tunnel Server from SEGGER. The Remote Server registers the serial number of the locally connected J-Link at the Tunnel Server. Now the Tunnel Server is able to provide access to this J-Link via the Internet using its serial number.
When a debugger or any other tool using the J-Link DLL connects with the Tunnel Server and requests a connection to this serial number, the Tunnel Server establishes the connection by forwarding the messages from the J-Link DLL to the Remote Server and vice versa.
More information on the Remote Server and the Tunnel Mode are available at: http://www.segger.com/tcp-ip-server.html?p=16#tunneling_mode