Abstract: Embedded systems are at the core of modern industrial applications that interface with the environment through
sensors and actuators. As software-defined modelling revolutionises the development of safety-critical systems, such as
self-driving cars in the automotive industry, rapid turnaround and integration into cloud-based software development services
are increasingly becoming critical. Recent parts shortages and supply-chain constraints have highlighted the importance of
dynamic, cross-platform codebases that allow scalability and quick re-deployment to different hardware. In this paper, we
show the ability of our development framework to create decomposable, embedded systems that consist of software that factors
out hardware dependencies and can thus be easily ported and deployed to multiple hardware architectures. We demonstrate
how our embedded cross framework allows us to decouple hardware-specifics from the requirements for the software that
implements the behaviour of the system. To this end, we show how to design and build scalable software that integrates with
multiple hardware architectures, operating systems, and middleware for embedded systems. For the first time, we not only
show how such systems can be developed for microcontrollers, but how the same embedded cross framework can be utilised
for Field-Programmable Gate Arrays (FPGAs). We demonstrate how software systems that utilise our framework can
seamlessly integrate with continuous integration and continuous deployment (CI/CD) processes. This allows the flexibility of
testing and integration using local and cloud-based systems, as well as end-to-end hardware-in-the-loop approaches.
Keywords: Cross compilation, CI/CD, Hardware abstraction, Build system, Safety-critical systems, Embedded software.
__________________________________________________________________________________________