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 […]
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.
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 […]
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.
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.
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 […]
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. […]
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 […]
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).
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?