One of the things that is driven from the top in SEGGER is that we can always do better. Not satisfied with standard schemes, we wanted to optimize emCompress, SEGGER’s compression library, for: Very fast decompression High compression ratio (uncompressed size divided by compressed size) Small decompressor Limited state in RAM when decompressing
RISC-V adoption and 7th Workshop thoughts
You have probably seen that SEGGER attended the recent (7th) RISC-V Workshop. There we demonstrated J-Link support for RISC-V cores and Embedded Studio for RISC-V, our professional-grade IDE that (unsurprisingly) targets RISC-V processors. This post offers a personal view on RISC-V and a reflection on the workshop.
The SEGGER linker and SOMNIUM assets
Startups come and go, some make it, some don’t. The embedded tools market is especially tough even for those that know it well, and being able to innovate and be successful needs true insight. To cut to the chase, SEGGER have acquired all intellectual property assets of SOMNIUM Technologies.
emNet with built-in UDP flood protection
emNet comes with many features already built-in. One of these features is a UDP flood protection that can help you to save execution time on incoming data that would be discarded anyhow. Whether you are really subject to an attack or you are simply part of a really crowded network, this optimization can free up […]
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, emNet, 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 […]