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.

Since we started licensing our Floating-Point Library, outside of Embedded Studio and outside of the SEGGER RunTime Library, we are seeing a lot of interest. We have published performance values, but for some people size matters more than speed. Here is a quick look at how small our floating point code is, based on a small project in Embedded Studio, which is also provided and easily allows reproduction. The same approach can be used to benchmark  other tool chains, so this post can be used as a tutorial to find out how small the components of a floating point library are.
(For a closer look at performance, see blog article Floating-point face-off, part 2: Comparing performance)

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 […]

Debugging the dual-core NXP i.MX RT600 with the one and only SEGGER J-Link

The i.MX RT600 MCU family from NXP is an interesting one. Not only do the i.MX RT600 devices feature a 300-MHz Arm Cortex-M33 processor core, but they also include a 600-MHz Cadence Tensilica HiFi4 DSP processor core. This makes the i.MX RT600 devices very suitable for audio playback and voice user interface applications. However, having […]

Extending AppWizard-generated GUIs with emWin Widgets

AppWizard is a great tool for designing GUIs with our emWin embedded graphics library. Features like the intuitive editor, the integrated resource management, and the ability to add behavior to the screen objects by adding interactions make it easy to get started with emWin. But you can create even more advanced graphics solutions by extending […]

Profiling and Code coverage on RISC-V using simulation

We recently licensed our Floating point library for RISC-V to a large international corporation. They asked not only for our functional verification suite, but also for a verification of the verification suite. A code coverage report showing that the entire code had been executed. While we know that all lines and every instruction have been […]

How to do Gauges in AppWizard – Part I

Recently, we at SEGGER released AppWizard, our new GUI design tool for our emWin embedded graphics library. It is now available as part of the emWin PRO package (v6.10 and later). The initial version of AppWizard contains a variety of objects and widgets, such as sliders, rotaries, images, switches, buttons, and more. Getting started with […]

SEGGER in times of the coronavirus / COVID-19

The idea of this blog is to give readers a glimpse of the plans and inner workings at SEGGER, what we’re working on, what we’re thinking, what’s going on, and what’s cooking. These days, unfortunately, that includes dealing with the coronavirus. I think everybody by now understands that this virus is not just a regular […]