About this Learning Path

Who is this for?

This is an introductory topic for embedded/edge software developers who want to deploy machine learning workloads to heterogeneous Arm-based Linux targets using Topo, including leveraging Arm Ethos-U NPUs.

What will you learn?

Upon completion of this Learning Path, you will be able to:

  • Explain how Topo deploys an application that spans Cortex-A, Cortex-M, and Ethos-U
  • Deploy the topo-imx93-npu-deployment Template, which operates across Cortex-A, Cortex-M, and Ethos-U, to perform image classification using an ExecuTorch MobileNetV2 model
  • Describe how the Template is bootstrapped from Compose services, Remoteproc Runtime metadata, and Topo arguments and follow this process yourself
  • Understand how to take similar projects and create Topo Templates, including using Agent Skills

Prerequisites

Before starting, you will need the following:

  • A host machine (x86 or Arm) with Linux, macOS, or Windows
  • An NXP FRDM i.MX 93 target board with Linux setup, accessible over SSH with root access. To do this, see Use Linux on the NXP FRDM i.MX 93 board .
  • Docker installed on the host and target. For installation steps, see Install Docker .
  • At least 25 GB of free disk space on the host if you’re building without cache images.
  • The Device Tree Compiler (dtc) installed on the host.
  • lscpu installed on the target (pre-installed on most Linux distributions)
  • Topo installed on the host. For installation steps, see Deploy containerized workloads to Arm-based Linux targets with Topo .
  • Basic familiarity with containers, SSH, and CLI tools
  • (Optional) Access to an agent, such as Codex or Claude Code
Next