Application cores and microcontroller cores on one chip

Many processors that run Linux also include a small microcontroller core, which handles time-critical work while Linux does the rest.

Core

A Cortex-A core running Linux and a Cortex-M companion core on one chip On one chip, Linux runs on the Cortex-A cores and manages a Cortex-M companion core through remoteproc, which loads its firmware and starts and stops it; the two exchange messages over RPMsg. Some chips also mix fast and efficient application cores. One chip Cortex-A runs Linux Cortex-M companion core, runs its own firmware remoteproc load firmware, start, stop RPMsg messages, both ways Some chips also mix fast and efficient application cores Fast cores light load Efficient cores Arm big.LITTLE or DynamIQ: the OS can move work to the efficient cores when the load is light. Examples across vendors ST STM32MP15 (Cortex-A7 + Cortex-M4), NXP i.MX 8M Mini (Cortex-A53 + Cortex-M4), TI AM62x (Cortex-A53 + Cortex-M4F) and Renesas RZ/G2L (Cortex-A55 + Cortex-M33).
Linux on the Cortex-A side loads, starts and stops the Cortex-M companion core through remoteproc, and the two exchange messages over RPMsg.

Key points

  1. Pairing Cortex-A and Cortex-M cores is common across vendors: for example ST STM32MP15 (Cortex-A7 + Cortex-M4), NXP i.MX 8M Mini (Cortex-A53 + Cortex-M4), TI AM62x (Cortex-A53 + Cortex-M4F) and Renesas RZ/G2L (Cortex-A55 + Cortex-M33).1234
  2. Linux manages the companion core through the remoteproc framework (load firmware, start, stop) and exchanges messages with it over RPMsg.56
  3. Some application processors also mix fast and efficient cores of their own (Arm big.LITTLE or DynamIQ), so the operating system can move work to the efficient cores when the load is light.78

Sources

  1. STM32MP157F · STMicroelectronics · Vendor page
  2. i.MX 8M Mini · NXP · Vendor page
  3. AM625 · Texas Instruments · Vendor page
  4. RZ/G2L · Renesas · Vendor page
  5. Remote Processor Framework · kernel.org · Project docs
  6. Remote Processor Messaging (rpmsg) Framework · kernel.org · Project docs
  7. Arm DynamIQ · Arm · Vendor page
  8. big.LITTLE technology · Arm · Vendor page