Home > Speakers >

Colin Walls

Colin Walls has over forty years' experience in th??e electronics industry, largely dedicated to embedded software. A frequent presenter at conferences and seminars and author of numerous technical articles and three books on embedded software, Colin's most recent position was an embedded software technologist with Siemens Embedded, and he is based in the UK.

Dynamic Memory Allocation & Fragmentation in C/C++

Status: Coming up in April 2023!

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.

Go to Session


Power Management in Embedded Systems

Status: Coming up in April 2023!

The importance of power management in today’s embedded designs has been steadily growing as an increasing number of battery powered devices are developed. Often power optimizations are left to the very end of the project cycle, almost as an afterthought. In this session we will discuss design considerations that should be made when starting a new power sensitive embedded design, which include choosing the hardware with desired capabilities, defining a hardware architecture that will allow software to dynamically control power consumption, defining appropriate power usage profiles, making the appropriate choice of an operating system and drivers, choosing measurable power goals and providing these goals to the software development team to track throughout the development process.

Go to Session


C - The Language of Embedded

Status: Available Now

Although not designed for embedded software development, C is the most popular programming language for such application. We will consider why the language is so popular and conduct a brief "refresher" of C language functionality, with an emphasis on the benefits to the embedded developer.

Go to Session


Live Q&A - C - The Language of Embedded

Status: Available Now

Live Q&A with Colin Walls for the talk titled C - The Language of Embedded

Go to Session


Self-testing in Embedded Systems

Status: Available Now

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 talk will review the options for self-testing that are open to the embedded software developer. Testing algorithms for memory will be outlined and some ideas for self-monitoring software in multi-tasking and multi-CPU systems will be discussed.

Go to Session


Live Q&A - Self-testing in Embedded Systems

Status: Available Now

Live Q&A with Colin Walls for the talk titled Self-testing in Embedded Systems

Go to Session


Operating Systems for Embedded Applications (2020)

Status: Available Now

Most modern embedded applications employ and operating system of some sort. We will look at how operating systems work - the scheduler and various services provided by an OS to the application code - and at the options open for OS selection. We will also compare the use of commercial, open source and in-house products.

Go to Session