# Guides

Use these guides to adapt a working conversion to your model and firmware. Each
guide explains the relevant controls, shows an example and describes what to
check afterward. For your first model, follow [Getting started](https://ambiqai.github.io/helia-aot/getting-started/).

## Core concepts

- [How heliaAOT works](https://ambiqai.github.io/helia-aot/guide/how-it-works/): Follow a model through compilation into a C module.
- [Operators](https://ambiqai.github.io/helia-aot/guide/operators/): Check model compatibility, tensor roles and lowering constraints.
- [Precision](https://ambiqai.github.io/helia-aot/guide/precision/): Understand integer and experimental float paths.
- [Targets](https://ambiqai.github.io/helia-aot/guide/targets/): Check the processor, memories and capabilities of your board.

## Integrate into firmware

Use the existing [firmware integration recipes](https://ambiqai.github.io/helia-aot/getting-started/integrate/) for your build system, or follow [Migrating from heliaRT](https://ambiqai.github.io/helia-aot/getting-started/from-heliart/).

- [Toolchains and build environments](https://ambiqai.github.io/helia-aot/guide/toolchains/): Choose how generated sources join your firmware build.

## Configure and optimize

Start with defaults, inspect the result, then change the setting for your constraint. [Transforms](https://ambiqai.github.io/helia-aot/guide/configuring/#transforms) and [execution settings](https://ambiqai.github.io/helia-aot/guide/configuring/#schedule-mode) live in Configuring a conversion.

- [Configuring a conversion](https://ambiqai.github.io/helia-aot/guide/configuring/): Set configuration precedence, transforms, operator settings and instrumentation.
- [Memory overview](https://ambiqai.github.io/helia-aot/guide/memory/): Understand constants, persistent state, scratch storage and lifetime reuse.
- [Residency reports](https://ambiqai.github.io/helia-aot/guide/memory-reports/): Inspect where tensors and arenas live before changing placement.
- [Memory placement](https://ambiqai.github.io/helia-aot/guide/memory-placement/): Choose memory banks, stage constants and bind application-owned arenas.
- [ITCM placement](https://ambiqai.github.io/helia-aot/guide/itcm-placement/): Place generated code and tensor arenas, then verify the linked image.
- [Memory planners](https://ambiqai.github.io/helia-aot/guide/memory-planners/): Compare scratch planners and their supported constraints.
- [Performance](https://ambiqai.github.io/helia-aot/guide/performance/): Understand choices that affect code size, memory and inference time.
- [Performance and accuracy options](https://ambiqai.github.io/helia-aot/guide/options/): Every speed/accuracy option, its default, measured gain and cost, and how to set it.

## Validate and measure

- [Testing and automation](https://ambiqai.github.io/helia-aot/guide/testing/): Compare outputs with reference data, carry recurrent state and automate checks.
- [Measure a conversion](https://ambiqai.github.io/helia-aot/guide/measure/): Profile your model on hardware and compare recorded runs.
- [Benchmarks](https://ambiqai.github.io/helia-aot/guide/benchmarks/): Read recorded results with their build conditions and limitations.

## Extend

- [Python API in practice](https://ambiqai.github.io/helia-aot/guide/python-api/): Call the converter and customize its registry from Python.
- [Custom operators](https://ambiqai.github.io/helia-aot/guide/custom-operators/): Add parsing, validation and code generation for an operation.
- [Compiler architecture](https://ambiqai.github.io/helia-aot/guide/compiler-architecture/): Explore AIR, handler lifecycles and kernel selection when extending the compiler.

## Troubleshoot

- [Troubleshooting](https://ambiqai.github.io/helia-aot/guide/troubleshooting/): Find a remedy for a conversion or integration failure.

## Related guides

Use [Reference](https://ambiqai.github.io/helia-aot/reference/) for exact fields, flags, target data and APIs. [Examples](https://ambiqai.github.io/helia-aot/examples/) provides runnable configurations for specific tasks.
