hw/bsp/lpc55: implement board_get_unique_id from flash PFR UUID

Read the 128-bit device UUID from the flash PFR region at 0x0009FC70
(UM11126 rev 2.1, section 48.8) rather than falling back to the fixed
weak default in hw/bsp/board.c.

Verified on lpcxpresso55s69: cdc_msc enumerates with SerialNumber
E059C3E208F9B955B3BA4C5CC7F3D13D, matching the uid already recorded for
that board in test/hil/local.json.
This commit is contained in:
hathach
2026-08-12 23:04:33 +07:00
parent f3021b337f
commit 853cbff468

View File

@ -170,6 +170,14 @@ uint32_t board_button_read(void) {
return BUTTON_STATE_ACTIVE == GPIO_PinRead(GPIO, BUTTON_PORT, BUTTON_PIN);
}
size_t board_get_unique_id(uint8_t id[], size_t max_len) {
// 128-bit UUID in the flash PFR region at 0x0009FC70 (UM11126 rev 2.1 section 48.8)
const uint8_t* uuid = (const uint8_t*) 0x0009FC70;
size_t const len = tu_min32(max_len, 16);
memcpy(id, uuid, len);
return len;
}
int board_uart_read(uint8_t* buf, int len) {
(void) buf;
(void) len;