This article will explore the classic division algorithms and how they can be implemented efficiently, in terms of code space and execution time, by exploiting machine features. Don’t expect anything astounding here, the algorithms are classic for a reason: this path is well-trodden.
Posts in the Embedded Software category:
Algorithms for division – part 1
This is the first in a series of articles that attempt to dispel the mystique around division algorithms. We do this by presenting coded algorithms that correctly divide, and describe how variations of these algorithms are used in emRun and emFloat, our C runtime and floating-point libraries.
emWeb: User interface in the web browser
Recently at SEGGER, we released a brand-new product: the Flasher Hub. During development, it became clear that the Flasher Hub needed an easy user interface for monitoring and configuration. The device itself is headless: No display and limited resources. Years of experience with web interfaces used in our J-Links and Flashers made our decision easy. […]
Risks Are Often Underestimated — It Is Not Only the Chip Crisis that Threatens Embedded Manufacturers
With the chip crisis and the standstill of assembly lines in the automotive industry, supplier management has become a hot topic. Beyond the repeated shortage of semiconductors, there are other risks worth taking into consideration when selecting suppliers. The quality of a supplier for embedded hardware and software can determine the success or failure of […]
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 […]
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 […]
How to do Gauges in AppWizard – Part II
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). In Part I of this blog article, I showed how to create a very common type of gauge – a circular gauge – by […]
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 […]
Finding the right (Q)SPI Flash for your project
Not all SPI Flashes are created equal SPI Flashes have become very popular as an inexpensive way to add nonvolatile storage (flash memory) to an Embedded System. They come in various capacities, so increasing memory is fast and easy. Any microcontroller can interface to them via SPI or QSPI peripheral interfaces, or simple general purpose […]