File:OSS ELC 2022 Asymmetric-Heterogeneous MultiProcessing (AMP-HMP) - Mainline Linux and Zephyr in Unison.pdf

Summary
This talk is a deep dive into the AMP/HMP topic showing both the Cortex-A as well as the Cortex-M4/M7 side of things. The first part looks at the evolution of the microcontroller and its integration into the Linux ecosystem. Both independent uCs, their interfacing, as well as AMP/HMP integrated ones, are covered. It also gives a quick overview of open-source real-time OS' suitable to the task. The second part looks at the various options how to actually launch code at various stages throughout the lifetime of a system, be it directly from a boot container by the boot ROM, later by the boot loader using U-Boot's bootaux command or once Linux is booted on the Cortex-A core using the remote processor framework (remoteproc). How mainline Linux and Zephyr work in unison is covered in the third part by further discussing concepts like the remote processor messaging (rpmsg) framework using the virtio-based messaging bus which allows kernel drivers to communicate with remote processors available in the system. Communication libraries like OpenAMP are also briefly covered. My talk is mostly SoC agnostic but concludes with a real-life demo using NXP i.MX 7/8M Mini and 8M Plus-based systems running the fully open-source software stacks previously introduced.