Newly Encrypted Server Empowers Engineers to Debug Embedded Systems from HomeMarch 24, 2020 by Gary Elinoff
Who says you have to quit debugging now that you're sequestered?
Yet another downside of COVID-19 is the impracticality of uprooting an engineer from a professional workspace lab to a home lab. While not all engineers are afforded the capability to work remotely, SEGGER Microcontroller has expanded the options to do so—specifically for remote debugging. SEGGER's J-Link Remote Server, which was released last year in April, has recently announced new encryption features for enhanced security.
SEGGER nods to emCrypt, its library of cryptographic algorithms, for the new encryption capabilities. emCrypt is designed to remove the security risks previously inherent in cloud-based remote debugging.
As illustrated below, the J-Link itself is a tool used for debugging embedded systems under development.
Diagram of how the J-Link Remote Server connects the remote user. Image used courtesy of SEGGER Microcontroller
In the lab, a computer running the J-Link remote server connects to J-Link’s tunnel server via the internet. Larger companies may wish to substitute their own tunnel server. In either case, the engineer, from their remote location, also connects to the tunnel server.
From the safety and convenience of their home, developers can connect to J-Link and employ any tool supported by J-Link. According to SEGGER, the engineer’s access and control are exactly the same as if he was sitting in the same room.
The J-Link Legacy
J-Link is designed to make the embedded programmer's life easier. This line of debug probes is known for its large number of supported CPUs, its 3 MBytes/s download speed to RAM, and what SEGGER says is an "unlimited number of breakpoints." Arm 7 devices, for example, are limited to two breakpoints.
J-Link makes it possible to create additional breakpoints in flash memory, providing a more productive and efficient debug process. SEGGER also asserts that J-Link supports the most in-demand debuggers and IDES on the market.
The J-Link Remote Server
The J-Link Remote Server is the software that makes any J-Link probe accessible from anywhere. It runs on Windows, Mac, or Linux. The J-Link Remote Server functions in three modes: direct mode, LAN mode, and tunnel mode.
Direct mode (top), LAN mode (middle), and tunnel mode (bottom). Image used courtesy of SEGGER Microcontroller
A password and a challenge handshake authentication protocol (CHAP) keeps out intruders.
Security Provided by emCrypt
With the spread of COVID-19 also comes an increased awareness of cybersecurity breaches, especially since the government has stated that these attacks are on the rise. In light of the increased prevalence of malevolent actors stalking the internet, SEGGER has added an additional layer of security to the J-Link server. These encryption tools are called emCrypt, a library of cryptographic algorithms specifically designed for embedded systems.
emCrypt. Image used courtesy of SEGGER Microcontroller
The emCrypt package offers a broad range of cryptographic capabilities and can be configured for a minimal memory footprint if need be. It can also be scaled up for deployment on systems that have enough room for support. As such, the library can be configured for size or for speed. Unneeded features can be excluded and can easily be added back if needs change.
emCrypt is provided as source code offering complete transparency for all its components. This allows for inspection by auditors if required. Because it is written in ANSI C, it is compiler- and target-independent.
The package supports hardware acceleration and pluggable cryptographic algorithms. In addition, optional hardware acceleration for a host of microcontrollers is available.
The package is available in two versions: the emCrypt-BASE Package and the emCrypt-PRO Package. Extensive details are available on the product page.
In addition to allowing engineers to work from home during the current health crisis, the J-Link remote server, backed up by emCrypt, will allow multiple development groups from anywhere in the world to access the same project under development.
Of course, these engineers will not be able to make hardware tweaks if they are not physically present. Engineering is not just a five-day-a-week, eight-hour-a-day job. If somebody comes up with an idea during after hours, he or she will not have until Monday to give it a spin.
If you are now working remotely, what are some tools that have helped you make the transition? Share your favorites in the comments below.