Thought Leadership

Embedded World, Nuremberg is next week

By Colin Walls

Next week, Tuesday-Thursday 14-16 March is Embedded World in Nuremberg, Germany. This is the biggest event in the world of embedded systems. I have been to the show and conference most years over the last decade and this year is no exception. The event is a very large trade show, along with a technical conference. It is the conference where I usually find myself most occupied …

The Embedded World conference aims to be a “serious” technical event, where engineers can go to learn about the whole spectrum of embedded technology. They have strict rules about presentations not being sale pitches and they seem to be applied. This year, I have 3 papers:

Dynamic Memory Allocation & Fragmentation in C & C++
Tuesday, March 14 | 10:30-11:00

In C and C++, it can be very convenient to allocate and de-allocate blocks of memory as and when needed. This is certainly standard practice in both languages and almost unavoidable in C++. However, the handling of such dynamic memory can be problematic and inefficient. For desktop applications, where memory is freely available, these difficulties can be ignored. For embedded – generally real time – applications, ignoring the issues is not an option.
Dynamic memory allocation tends to be non-deterministic; the time taken to allocate memory may not be predictable and the memory pool may become fragmented, resulting in unexpected allocation failures. In this session the problems will be outlined in detail and an approach to deterministic dynamic memory allocation detailed.

Self-Testing in Embedded Systems
Tuesday, March 14 | 11:30-12:00

Screen Shot 2017-03-06 at 10.07.44

All electronic systems carry the possibility of failure. An embedded system has intrinsic intelligence that facilitates the possibility of predicting failure and mitigating its effects. This paper reviews the options for self-testing that are open to the embedded software developer. Testing algorithms for memory are outlined and some ideas for self-monitoring software in multi-tasking and multi-CPU systems are discussed.

Writing Reliable Code with MISRA-C
Tuesday, March 14 | 15:00-15:30

C is the most widely used language for embedded software development. Although it is compact, efficient, expressive and powerful, some features of the language can be used in ways that result in unsafe code. The Motor Industry Software Reliability Association defined MISRA-C – a set of guidelines for using C language to create reliable, safe software. This session illustrates how MISRA-C C may be employed, using examples to show how the guidelines may be applied to any safety-critical software, not just automotive applications.

Mentor Graphics has a strong presence at the show, including booth 510, hall A4 and a number of other presentations from my colleagues is several parts of the company. You can find full details here and here.

I hope to see you there!

If you cannot attend, but would like a copy of any of my presentations, please email or contact me via social networking.

Leave a Reply

This article first appeared on the Siemens Digital Industries Software blog at