Requirements
Start with an Ambiq firmware project that builds and runs on your target board. heliaCORE supplies kernels; your board SDK supplies startup code, the linker script, device support, and the flash/debug workflow.
Before you begin
Section titled “Before you begin”- A board application that you can build, flash, and debug.
- Your board SDK’s compiler and build tools available in the shell or IDE.
- One heliaCORE release selected for headers and library sources or archives.
- For source integration, CMake 3.15.6 or newer where using this repository’s top-level build; your SDK may require a newer version.
Check your build
Section titled “Check your build”For an existing CMake build, run cmake --build build --verbose and inspect a
compiler command for a firmware source file. If nothing rebuilds, use your IDE’s
build log or rebuild that file. Record the compiler executable/version and
-mcpu, -mfpu, and -mfloat-abi flags, including those supplied by your board
configuration.
Compare a prebuilt SDK’s manifest.json with that command:
| Manifest field | Compare with your firmware |
|---|---|
toolchain.id |
Artifact toolchain name: gcc, atfe, or armclang. |
toolchain.compiler_id and toolchain.version |
Compiler family and version used to build the archive. |
abi.arch_flags |
CPU, FPU, and float ABI flags. |
features.f32 and features.f16 |
Whether the archive contains the floating-point kernels you need. |
If no release package matches your requirements, use a source build.
Target and compiler
Section titled “Target and compiler”- Identify your target’s Cortex-M core and the CPU, FPU, and float ABI flags used by your firmware.
- For a prebuilt library, select a release artifact matching your CPU and compiler. Check its
manifest.jsonfor the build configuration. - For a source build, use your project’s toolchain and target flags. DSP and Helium paths are selected at compile time where supported.
See Cortex-M targets for architecture details and Toolchains for compiler compatibility and floating-point requirements.
Source or prebuilt?
Section titled “Source or prebuilt?”| Choose | When it fits |
|---|---|
| Prebuilt | A release library matches your firmware’s CPU, compiler, ABI, and required kernel features. |
| Source | You need custom operator selection, or no archive supplies your required features and compiler settings. |
FP16 and FP32 are opt-in APIs. Support varies by operator and target. Check data-type coverage before enabling them. Changing a build option does not add kernels to an already compiled archive; select a matching archive or rebuild from source.
Prepare your integration
Section titled “Prepare your integration”Use one heliaCORE release throughout your project. Download packages from GitHub Releases, verify the provided checksums, and follow the guide for CMake, CMSIS-Pack, Zephyr, or neuralSPOT-X.