Killer features of the SEGGER linker, or what’s wrong with the GNU linker?

In the previous post, Rolf described some of the progress that we have made on the brand-new SEGGER linker. In this post I examine the gnarly problems with the GNU linker and how they are easily solved by the SEGGER linker. A follow-up post will examine more of the linker’s capabilities.

The SEGGER Linker – Replacing the GNU linker

At SEGGER, we pretty much use our own tools and products to develop our products. That includes using our middleware, such as embOS, embOS/IP, emUSB, emFile, web and FTP Servers and so on, as part of the firmware of our J-Link, J-Trace and Flasher products.  And the other way round, utilizing the same hardware products, most […]

Using a watchdog in a multi-task (RTOS) environment

Clementine, a NASA satellite to test sensors and spacecraft components under extended exposure to the space environment, was launched on 25 January 1994. For the lack of a few lines of watchdog code, her mission was lost on 7 May 1994. Clementine had performed lunar mapping for approximately two consecutive months when she left lunar […]

Performance tuning our software

As you may have noticed, SEGGER have introduced a cryptographic algorithm library, emCrypt. We released this product as existing and new customers wanted to use the “hidden” cryptographic capabilities of emSSL but didn’t need to run SSL/TLS as a protocol. Well, that is not entirely true, some customers already had licenses for emSSL but also […]

Getting printf Output from Target to Debugger

  Erich Styger recently posted a great tutorial on how to add console functionality using Single Wire Output (SWO) on ARM Cortex-M targets. This inspired me to write a more general post on debug output (“printf”) implementations on embedded target, including SWO and RTT. Debug Output from a Target There are different methods to get debug output from the […]

Update on: Comparing Performance on Windows, Linux and OS X

If you haven’t read the original post, have a look at it: Comparing Performance on Windows, Linux and OS X I got my computer upgraded 🙂 It is very tiny, an Intel NUC Kit. But what matters is what is inside: An Intel i7 with 4 cores and hyper-threading, so like 8 processors, 16 GB […]

Why you should benchmark your embedded system

There are plenty of potential reasons why an embedded system may not deliver the full CPU performance. This is not even that easy to detect, so here is a way to check if your system gives you the performance you expect. What can go wrong? Today’s embedded systems are complex computers. Microcontrollers are usually easiest […]

Comparing Performance on Windows, Linux and OS X

Last week, I compared the speed of the 64-bit and the 32-bit build of Embedded Studio and the GCC compiler. The 64-bit version was the clear winner, with a performance gain of about 5 – 20%. But what can we get from working with different operating systems? At SEGGER, we developers are free to select the operating system […]