# nsx-pmu-armv8m

<!-- nsx:facts -->
Armv8-M PMU helpers for hardware counter configuration, capture, and transport.

- Type: Library / service
- Version: 0.2.0
- Project: nsx-pmu-armv8m
- Revision: v0.2.0
- Source: https://github.com/AmbiqAI/nsx-pmu-armv8m/tree/v0.2.0
- Capabilities: pmu, profiling, hardware_counters, armv8m
<!-- /nsx:facts -->

## Add it to an app

```bash
nsx module add nsx-pmu-armv8m
```

## Capabilities

- pmu
- profiling
- hardware_counters
- armv8m

## Use cases

- function profiling
- layer profiling
- model-level PMU measurement
- MVE or Helium counter capture

## Requires

- [`nsx-cmsis-core`](https://ambiqai.github.io/neuralspotx/modules/nsx-cmsis-core/)
- [`nsx-core`](https://ambiqai.github.io/neuralspotx/modules/nsx-core/)
- [`nsx-soc-hal`](https://ambiqai.github.io/neuralspotx/modules/nsx-soc-hal/)

## Compatibility

:::note[How compatibility is declared]
The boards, SoCs and toolchains listed here are the ones the module manifest declares.
That is the module author's statement of intent, not evidence from hardware. Confirm on your
own target before you depend on it.
:::

| Kind | Declared |
| --- | --- |
| Boards | * |
| SoCs | apollo5b, apollo330P, apollo510, apollo510b, apollo510L, atomiq110 |
| Toolchains | arm-none-eabi-gcc, armclang, atfe |

## Agent keywords

`pmu`, `counters`, `cycles`, `armv8-m`, `mve`

## Source

| Field | Value |
| --- | --- |
| Type | Library / service |
| Version | 0.2.0 |
| Project | nsx-pmu-armv8m |
| Revision | `v0.2.0` |
| Manifest | `modules/nsx-pmu-armv8m/nsx-module.yaml` |
| Repository | [nsx-pmu-armv8m](https://github.com/AmbiqAI/nsx-pmu-armv8m/tree/v0.2.0) |

Back to the [module catalog](https://ambiqai.github.io/neuralspotx/modules/catalog/).
