Home > Speakers >

Niall Cooling

Niall Cooling is a Chartered Engineer and Feabhas founder, one of the leading independent providers of training and consultancy for real-time embedded systems development and software competency. He has been delivering training and providing consultancy and mentoring to a wide variety of leading electronics companies world-wide for over 20 years. Niall regularly works with a wide range of industries, ranging from industrial control to consumer devices and defence. Much of his recent work has been guiding companies around the necessary skills and tools to comply with automotive standards, such as ISO 26262, MISRA-C and Adaptive-Autosar.

CMake and the Dark Arts

Status: Available Now

For many years embedded developers have relied on building an application image by invoking a "build" menu option with their development IDE. Unfortunately, this can lead to two challenges; first, it doesn't scale very well when a team of engineers develops a codebase. Second, it often ends up with an independent and often complicated set of scripts to create the complete build. 

Build systems were developed to simplify and automate running the compiler and linker and are an essential part of modern, agile software development. Historically GNU Make has been the de facto build tool for many years but can become challenging to maintain as codebases grow. 

Recent surveys show that CMake has become the build system of choice for the majority of new C/C++ projects. This presentation introduces the CMake build system and explains the steps required to add it to an existing embedded C/C++ project. It will also discuss "the good, the bad and the ugly" of CMake. By the end of the presentation you should be in a position to understand CMake based projects and make an informed decision whether CMake is the right tool for your future projects.

Go to Session


A decade of Modern C++; from 11 to 20

Status: Available Now

In 2011 ISO published a new version of C++. The C++11 standard was a major change to the language, not only from syntactical perspective but, more significantly, requiring a new approach to designing and developing with C++.

Over the last decade, we have seen three further revisions of the standard (C++14/17/20), culminating in the release of C++20 in December of last year.

However, many embedded engineers are still wary of C++ and live with the misconception that it is unsuitable for embedded development.

This talk looks at the evolution of C++ and where an embedded engineer may realise significant safety and performance benefits by adopting modern C++.

Go to Session


Live Q&A - A decade of Modern C++; from 11 to 20

Status: Available Now

Live Q&A with Niall Cooling for the talk titled A decade of Modern C++; from 11 to 20

Go to Session


How Agile is Changing the Face of Embedded Software Development (2020)

Status: Available Now

This presentation is ideal for anyone who is either new to Agile, considering using Agile or even has experience in working with Agile methodologies and practices with embedded software or firmware developments.

It will clarify the Agile landscape, covering both process based aspects, such as Scrum and various techniques, including Test Driven Development (TDD) and some of the underlying foundation principles, such as Continuous Integration (CI).

As part of the discussion, we shall look at some of the modern-day tools that help apply Agile techniques(e.g. Docker) and finally look ahead to the current gaps and where embedded systems offer particular challenges to the use of Agile techniques.

Go to Session