C++ pitfalls – Memory allocation from interrupts

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 the problem and presents a solution.

I believe this is a must-read for every programmer using C++ in embedded systems!
(more…)

Securing embedded systems with digital signatures: The basics

Securing an embedded system is incredibly important and having a digital signature plays a crucial role in that. A digital signature confirms that a specific piece of information came from a specific organization (i.e. the one with the private key as described below) and has not been modified. Follow-up articles will firstly cover related issues […]

Saving power in embedded systems – Reducing idle CPU speed

Dynamic power, meaning power consumption that is proportional to a clock speed, is a significant part of the power usage of a computer system. Reducing CPU load is one way to reduce this. More interestingly, reducing CPU clock speed in idle mode is another way. And there is hardly any downside!

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