A conversion exits nonzero on failure; Exit codes lists each code. Capture both stdout and stderr when investigating it: conversion progress and error diagnostics go to stderr, while the final Results output goes to stdout, and some input failures retain Python tracebacks. Verbosity controls logging detail, not whether the conversion succeeded. See troubleshooting and the error reference.
Output path for the generated module. Use a directory for an unpacked module, a ‘.zip’ suffix for a generic zip archive, or a ‘.pack’ suffix for an Open-CMSIS-Pack archive (requires module.type=cmsis_pack). (default: output.zip)
--module.type
zephyr | cmake | nsx | cmsis_pack
cmake
Module type: cmake, zephyr, nsx or cmsis_pack (cmsis_pack is experimental) (default: cmake)
--module.name
str
helia_aot_nn
Module name (default: helia_aot_nn)
--module.prefix
str
aot
Prefix added to sources for unique namespace (default: aot)
--module.schedule
table | static
table
Operator dispatch shape in the generated model: ‘table’ (default) keeps the runtime function-pointer table and per-node callback seam; ‘static’ emits straight-line direct calls (no table, no loop, no indirect dispatch). (default: table)
If true, the module will use internal, statically allocated arenas. If false, the caller must bind every region via <prefix>_bind_arena() / <prefix>_bind_arenas() before model_init. (default: True)
If true, write a machine-readable residency report (<prefix>_residency.json) alongside the emitted module. Mirrors the verbose log summary as JSON for tooling that needs to introspect arena layout, staged-vs-cold residency, and per-tensor placement post-planning. (default: False)
Allow auto knob values that change numerics relative to the knob’s default (e.g. fast accumulation) (default: False)
--optimization.accumulation
auto | precise | fast
auto
FP16 fully connected and depthwise accumulation: precise (four-tap FP32 folding on eligible packed fully connected layers, otherwise standard; the default depthwise entry), fast (legacy fully connected routing; the FP16-lane depthwise entry; approximate where alternatives apply) or auto; FP16 convolution packs at every setting (default: auto)
--optimization.kernel
auto | specialized | generic
auto
Int8 convolution, depthwise, fully connected and bilinear resize entry: specialized (shape-specialized ns-cmsis-nn direct entries where they apply), generic (the general entries, fewer kernels linked) or auto; both are exact (default: auto)
A valid request failed while converting, with a typed error, or an unexpected exception was raised with its traceback.
2
USAGE
The input was rejected: the command line, the configuration, a file it names (the model, the golden data, the output location), the model type or format, or the target, whether before or during conversion.
130
INTERRUPTED
The command was interrupted.
The code depends on what failed, not on when. Rejected input exits 2: the command line, the configuration, a file it names (the model, the golden data, the output location) and the target, even when the check runs after conversion has started, as for golden data, test.state_feedback pairs or an out-of-range model.subgraph, all checked against the loaded model. A valid request that fails while converting, such as a model construct heliaAOT cannot lower or memory that does not fit, exits 1. Each error class declares its code; the Errors page lists them. An unexpected exception is a defect and keeps its traceback.
An interrupt during conversion, or before it starts, exits 130. An interrupt while heliaAOT is still loading ends the process on the signal itself, which a shell reports as 130.