Modern C++ programming very much abstracts what is happening “under the hood” – i.e. what code the CPU is actually executing. This is nice for the programmer … if it works well. Unfortunately, C++ also introduces a stability problem in embedded systems. Many programmers are unaware of this problem. This post gives some background, explains […]
Posts in the Embedded Studio category:
C++ real-time allocation — a chess engine
This article describes a new capability that I added to SEGGER emRun, now available in Embedded Studio 6, to support real-time dynamic storage allocation. These enhancements were inspired during my development of a chess engine, and I’ll describe some of the engine design and why emRun now offers a new allocator.
SEGGER’s Embedded Studio Achieves Top Rating in German Elektronik Magazine
In 2020, one of Germany’s leading B2B electronics magazines, Elektronik, conducted a reader test with SEGGER’s development environment Embedded Studio. This kind of test lets readers apply to receive the product free of charge, to test it according to a previously defined set of criteria and give their feedback and a rating. The products’ manufacturers […]
SEGGER Embedded Studio on Apple M1 and Intel i7
In 2016, we started releasing 64-bit builds of Embedded Studio for Windows. This improved the build performance by about 20% compared to the 32-bit version. Apple recently released the M1, which uses the AArch64/ARMv8-A instruction set. How does Embedded Studio perform on the new chip? We did the comparison again.
Code Size: Squeezing more with linker outlining
My previous blog post covered the SEGGER Linker for RISC-V and the benefits provided by enhanced relaxation. This article continues to explore what SEGGER is doing with its linker technology, advancing what is typically possible.
Code size: Closing the gap between RISC-V and Arm for embedded applications
One of the issues faced by RISC-V developers is that the code density of the RISC-V instruction set for deeply embedded processors does not match that of Cortex-M with existing tools. That is changing with the product innovations SEGGER have developed, such as the recently-announced SEGGER Linker, capable of reducing code size by up to […]
Every byte counts – Floating-point in less than 1 KB
How expensive in terms of code size are floating-point operations if the CPU does not have an floating-point unit (FPU)? In this article, I will investigate, based on Embedded Studio for ARM and a generic Cortex-M3 device, how big (or small) an entire application using basic float operations, add, sub, mul, and div, can be. […]
Every byte counts – Smallest “Hello world”
When searching on-line for small C-programs, there seems to be a lot of confusion about what is doable and what is not. There are a lot of posts wondering why even for minimal programs such as “Hello world” applications are so big, but not many explanations or fixes. I will show how to make a […]
Integrity checks with the new SEGGER Linker
With the latest Embedded Studio update to version 5 the SEGGER Linker also received new features. One of these features is the new integrity check functionality which I would like to focus on in this article. Supported are numerous CRC and message digest algorithms (e.g. MD5 and SHA).
Every Byte counts – The 100-Byte Blinky Challenge
I decided to put Embedded Studio to the test: How little flash memory could be used on a typical Cortex-M Microcontroller to toggle an LED?