Memory & Storage - Config / OTP Memory - nordic,nrf-uicr
nRF5340 UICR (user information configuration registers)
Non-volatile UICR flash model backed by a shared (optionally file-backed) byte store. Enforces the real NVMC WEN write-enable gate: stores with `NVMC.CONFIG != WEN` are dropped. Survives reset like silicon; only an NVMC ERASEALL clears it.
Events emitted
nrf.uicr.write_droppedA UICR store was silently dropped because NVMC was not in WEN (write-enable) mode - mirrors real nRF5340 flash-controller behaviour.
Payload
| Field | Type | Description |
|---|---|---|
offset | u32 | UICR register offset of the dropped write. |
reason | "nvmc_wen_off" | Why the write was dropped. |
val | u32 | Value the firmware attempted to write. |
nrf.uicr.writtenA UICR write was committed to the non-volatile store (e.g. BL2 ROTPK provisioning into the OTP/CUSTOMER region).
Payload
| Field | Type | Description |
|---|---|---|
offset | u32 | UICR register offset written. |
val | u32 | Committed value. |
Events accepted
No peripheral-specific input events. The peripheral is driven through MMIO register access.
Commands
load_imageOverwrite the UICR region with a raw image supplied as a hex string (host-side provisioning shortcut, e.g. the web UI 'Load UICR' button). Shorter images leave the tail unchanged.
| Param | Parsed as | Description |
|---|---|---|
| data | string | Raw UICR bytes, hex-encoded (max 4 KiB = 8192 hex chars). |
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
| Field | Type | Label |
|---|---|---|
| approtect | u32 | APPROTECT |
| secureapprotect | u32 | SECUREAPPROTECT |
| state_json | str | UICR Region Summary (JSON) |
Read at runtime with emulator.peripheral_snapshot(name).