Skip to content

Platforms

heliaAOT ships with a platform registry that captures per-SoC details used during conversion and codegen: available memories (and their sizes), a preferred placement order for the memory planner, supported features (capabilities), and typical clock profiles. Selecting the right platform ensures kernels, buffers, and arenas are sized and placed realistically for your target board.

You can select a platform on the CLI or in YAML:

helia-aot convert --platform.name apollo510_evb ...
platform:
  name: apollo510_evb

The config tag below is the value to pass via --platform.name. Capabilities describe optional subsystems (e.g., BLE, USB, DSP/MVE) that example apps or kernels may rely on. Memory sizes are shown in KB/MB; the preferred order influences where tensors/arenas are placed during planning.

Discovering targets without the repository

If you installed heliaAOT from PyPI and do not have the repository source checked out, the supported targets are still fully discoverable from the CLI:

# List every supported target name, CPU, and capabilities
helia-aot list-targets

# Show one target's clock speeds, memories, capabilities, and alignment
helia-aot target-info --name apollo330mp_evb

The same data is available from the Python API:

from helia_aot.platforms import get_platform, list_platform_names, list_platforms

list_platform_names()          # ['apollo330mp_evb', 'apollo3_blue_evb', ...]
get_platform("apollo510b_evb") # SocPlatform(...) with memories/capabilities
list_platforms()               # every registered SocPlatform, ordered by name

Supplying an unknown platform.name raises an error that lists every valid target name, so typos are self-correcting:

Error: Unknown platform 'apollo330'. Valid targets: apollo330mp_evb, apollo3_blue_evb, ...
  hint: Run `helia-aot list-targets` to list targets, or `helia-aot target-info --name <target>`
  for a target's capabilities.

Target names are case-insensitive

platform.name is matched regardless of case, so apollo330mp_evb, Apollo330MP_EVB, and APOLLO330MP_EVB all select the same target. The canonical spelling shown by list-targets is what appears in generated artifacts.

Custom boards

Any target not listed here can still be used by supplying the full platform definition in YAML (platform.cpu, platform.speeds, platform.memories, platform.preferred_memory_order, platform.min_alignment) or via CLI flags (--platform.cpu, --platform.speeds, --platform.memories, --platform.preferred-memory-order, --platform.min-alignment). That builds a custom platform for that conversion only. To make a custom platform available process-wide (e.g., across repeated Python API conversions), register it explicitly with helia_aot.platforms.register_platform.

Supported targets

  • Apollo3 Plus EVB


    Config tag: apollo3_evb

    Capabilities: MCU, DSP

    Memory:

    • MRAM: 1.0 MB (1024 KB)
    • SRAM: 320 KB (main SRAM)
    • DTCM: 64 KB

    Learn more

  • Apollo3 Blue EVB


    Config tag: apollo3_blue_evb

    Capabilities: MCU, BLE, DSP

    Memory:

    • MRAM: 1.0 MB (1024 KB)
    • SRAM: 320 KB (main SRAM)
    • DTCM: 64 KB

    Learn more

  • Apollo3 Blue Thin EVB


    Config tag: apollo3_blue_thin_evb

    Capabilities: MCU, BLE, DSP

    Memory:

    • MRAM: 1.0 MB (1024 KB)
    • SRAM: 320 KB (main SRAM)
    • DTCM: 64 KB

    Learn more

  • Apollo3 Blue Plus EVB


    Config tag: apollo3_blue_plus_evb

    Capabilities: MCU, BLE, DSP

    Memory:

    • MRAM: 2.0 MB (2048 KB)
    • SRAM: 704 KB (main SRAM)
    • DTCM: 64 KB

    Learn more

  • Apollo3P EVB (compat alias)


    Config tag: apollo3p_evb

    Capabilities: MCU, BLE, DSP

    Memory:

    • MRAM: 2.0 MB (2048 KB)
    • SRAM: 704 KB (main SRAM)
    • DTCM: 64 KB

    Learn more

  • Apollo330M Plus EVB


    Config tag: apollo330mp_evb

    The EVB for the Apollo330 Plus series (part AP330MPEVB) carries the multi-protocol Apollo330M Plus variant (Bluetooth Low Energy plus 802.15.4 / Thread / Matter).

    Capabilities: MCU, DSP, MVE, FP16, BLE, USB

    CPU: Cortex-M55 (Helium) — 96 / 192 / 250 MHz

    Memory:

    • MRAM: 2.0 MB (2048 KB)
    • SRAM: 1.75 MB (1792 KB)
    • DTCM: 256 KB

    Learn more

  • Apollo4 Plus EVB


    Config tag: apollo4p_evb

    Capabilities: MCU, USB, DSP

    Memory:

    • MRAM: ~2.0 MB (2000 KB)
    • SRAM: 1.0 MB (1024 KB)
    • DTCM: 384 KB

    Learn more

  • Apollo4 Plus Blue KBR EVB


    Config tag: apollo4p_blue_kbr_evb

    Capabilities: MCU, USB, BLE, DSP

    Memory:

    • MRAM: ~2.0 MB (2000 KB)
    • SRAM: 1.0 MB (1024 KB)
    • DTCM: 384 KB

    Learn more

  • Apollo4 Blue Plus KXR EVB


    Config tag: apollo4p_blue_kxr_evb

    Capabilities: MCU, USB, BLE, DSP

    Memory:

    • MRAM: ~2.0 MB (2000 KB)
    • SRAM: 1.0 MB (1024 KB)
    • DTCM: 384 KB

    Learn more

  • Apollo4 Lite EVB


    Config tag: apollo4l_evb

    Capabilities: MCU, DSP

    Memory:

    • MRAM: ~2.0 MB (2000 KB)
    • SRAM: 1.0 MB (1024 KB)
    • DTCM: 384 KB

    Learn more

  • Apollo4 Blue Lite EVB


    Config tag: apollo4l_blue_evb

    Capabilities: MCU, BLE, DSP

    Memory:

    • MRAM: ~2.0 MB (2000 KB)
    • SRAM: 1.0 MB (1024 KB)
    • DTCM: 384 KB

    Learn more

  • Apollo510 EVB


    Config tag: apollo510_evb

    Capabilities: MCU, USB, PSRAM, DSP, MVE, FP16

    Memory:

    • MRAM: 4.0 MB (4096 KB)
    • SRAM: 3.0 MB (3072 KB)
    • DTCM: 512 KB
    • ITCM: 256 KB
    • PSRAM: ~31.4 MB (32168 KB)

    Learn more

  • Apollo510 Lite EVB


    Config tag: apollo510l_evb

    Capabilities: MCU, DSP, MVE, FP16, USB

    CPU: Cortex-M55 (Helium) — 96 / 192 / 250 MHz

    Memory:

    • MRAM: 2.0 MB (2048 KB)
    • SRAM: 1.75 MB (1792 KB)
    • DTCM: 256 KB

    Learn more

  • Apollo510 Blue EVB


    Config tag: apollo510b_evb

    Capabilities: MCU, DSP, MVE, FP16, BLE, USB

    CPU: Cortex-M55 (Helium) — 96 / 250 MHz

    Memory:

    • MRAM: 4.0 MB (4096 KB)
    • SRAM: 3.0 MB (3072 KB)
    • DTCM: 512 KB
    • ITCM: 256 KB

    Learn more

  • Atomiq110


    Config tag: atomiq110

    Capabilities: MCU, DSP, MVE, FP16, NPU

    CPU: Cortex-M55 + Ethos-U85 NPU — 100 / 250 / 500 MHz

    Memory:

    • MRAM: 4.0 MB (4096 KB)
    • SRAM: 3.0 MB (3072 KB, on-chip SSRAM)
    • DTCM: 496 KB
    • ITCM: 256 KB

Units & rounding

Registry values for Apollo4/Apollo510 were provided as multiples of 1024 and are shown here in KB/MB (MiB-style rounding).