Skip to main content

v2n-board-id-readout

Reads and prints the SoM's hardware-info manifest from the on-module 24C128 EEPROM, then asserts the firmware build is intended for the SKU on the module.

Source: examples/v2n/v2n-board-id-readout/.

What it does

  1. Calls alp_hw_info_read(&info) — internally opens ALP_E1M_I2C0, reads the 128-byte manifest at offset 0, validates magic + schema_version + CRC32, populates the struct.
  2. Prints every field (family, SKU, hw_rev, serial, mfg date).
  3. Asserts info.som_sku == "E1M-V2N101" via alp_hw_info_assert_matches_build().

board.yaml

som:
sku: E1M-V2N101

preset: e1m-x-evk

cores:
m33_sm:
app: ./src
peripherals: [i2c]

chips:
- eeprom_24c128

diagnostics:
log_level: info

Expected output (factory-programmed module)

[board-id] read SoM hardware-info manifest
[board-id] family = v2n
[board-id] sku = E1M-V2N101
[board-id] hw_rev = r1
[board-id] serial = ALP-V2N101-26W19-00042
[board-id] mfg date = 2026-05-09
[board-id] firmware build is for this SoM family
[board-id] done

Expected output (unprogrammed module)

A blank EEPROM is reported as ALP_ERR_NOT_PROVISIONED — distinct from a corrupt manifest (ALP_ERR_IO):

[board-id] EEPROM is blank -- module not yet provisioned
[board-id] run scripts/program_eeprom.py at production
[board-id] test to write the SoM manifest.

See also

Questions about this page? Discuss in Community Forum