vemu.

Security - Key Management - nordic,nrf-kmu-nvmc

nRF5340 KMU + NVMC (key management + flash controller)

Combined model of the shared 4 KiB KMU/NVMC block. KMU pushes and revokes the 128 UICR-backed key slots (zeroizing on revoke, as per the product specification); NVMC provides the flash write-enable gate, page erase, and ERASEALL.

flash_erasesnapshottableemits: signal_pulseemits: flash_eraseemits: custom

Events emitted

nrf.kmu.slot_pushed

A KMU key slot was pushed to its destination address (`TASKS_PUSH`).

Payload

FieldTypeDescription
destu32Destination address from the slot's DEST word.
keyoptionalu32[]The four 32-bit key words, or `null` when not readable.
key_readablebooleanWhether the slot permits host-side key read-out.
slotu32Key slot index (0-127).
nrf.kmu.slot_revoked

A KMU key slot was revoked: key words zeroized, STATE cleared.

Payload

FieldTypeDescription
slotu32Key slot index (0-127).

Events accepted

No peripheral-specific input events. The peripheral is driven through MMIO register access.

Commands

push_slot

Trigger a host-side `TASKS_PUSH` of the selected slot.

ParamParsed asDescription
slotu32Key slot index (0-127).

All params travel as strings in the command JSON; the type shows how the peripheral parses them (0x/0b prefixes accepted for integers).

revoke_slot

Revoke a slot: clear its STATE permission bit and zeroize the key words.

ParamParsed asDescription
slotu32Key slot index (0-127).

All params travel as strings in the command JSON; the type shows how the peripheral parses them (0x/0b prefixes accepted for integers).

write_slot

Write the four key words of a slot directly into UICR (host-side provisioning shortcut).

ParamParsed asDescription
slotu32Key slot index (0-127).
k0u32Key word 0.
k1u32Key word 1.
k2u32Key word 2.
k3u32Key word 3.

All params travel as strings in the command JSON; the type shows how the peripheral parses them (0x/0b prefixes accepted for integers).

Snapshot fields

FieldTypeLabel
state_jsonstrKMU Slot State (JSON)
kmu_infostrKMU FSM Info (JSON)

Read at runtime with emulator.peripheral_snapshot(name).

Boards using this peripheral