Overview¶
NSX provides a modular bare-metal application workflow for Ambiq targets.
Primary Goals¶
- Fast bootstrap for board-specific apps.
- Reproducible module and board vendoring into generated apps.
- Clear build behavior driven by CMake.
- Small, inspectable projects for bring-up, profiling, and feature validation.
Core Principles¶
- AmbiqSuite-first baseline for bare-metal targets.
- Explicit supported target sets with one active target per operation.
- CMake as build truth.
- Explicit metadata for dependency and compatibility decisions.
- Wrapper modules for curated SDK consumption.
Implemented Architecture¶
NSX currently provides:
- a Python CLI (
nsx) - packaged app templates
- packaged CMake helpers
- built-in board definitions
- curated lock metadata for known module sets
Generated apps receive:
- app-local
cmake/nsx/ - vendored
modules/ - vendored
boards/ - default and supported target metadata in
nsx.yml
Current Layering¶
flowchart BT
SDK["SDK Provider\nnsx-ambiqsuite"] --> HAL["HAL + BSP Wrappers\nnsx-ambiq-hal / nsx-ambiq-bsp"]
HAL --> INT["Integration\nnsx-soc-hal / nsx-cmsis-startup"]
INT --> RT["Runtime\nnsx-core / nsx-power / nsx-perf"]
RT --> APP["App"]
- the raw SDK provider module
nsx-ambiqsuite - the HAL and BSP wrapper modules
nsx-ambiq-halandnsx-ambiq-bsp - shared NSX integration modules such as
nsx-soc-halandnsx-cmsis-startup - higher-level runtime and feature modules such as
nsx-core,nsx-power,nsx-perf,nsx-freertos,nsx-audio,nsx-ble, andnsx-usb
This diagram is architectural rather than an exhaustive catalog. Run
nsx module list --registry-only --json for the authoritative module set in
the installed NSX version.
Target Environment¶
NSX is intended for:
- board bring-up
- smoke tests
- profiling and instrumentation workflows
- small targeted examples such as USB or interface validation