Part Number:MSP430I2020
Hello! I want to read the die record to create a unique ID. I've done this for MSP432 as follows:
uint_fast8_t tlvLength; SysCtl_Die_Record_Info *pDieInfo; MAP_SysCtl_getTLVInfo(TLV_TAG_DIEREC, 0, &tlvLength, (uint32_t**)&pDieInfo); strncpy(ID, "ID", 10); // Unique combination char number[10]; snprintf(number, 10, "%d", pDieInfo->Die_X_Position); strncat(ID, number, 10); snprintf(number, 10, "%d", pDieInfo->Die_Y_Position); strncat(ID, number, 10); snprintf(number, 10, "%d", pDieInfo->Wafer_ID); strncat(ID, number, 10); snprintf(number, 10, "%d", pDieInfo->Lot_ID); strncat(ID, number, 10); typedef struct { uint32_t Die_X_Position; uint32_t Die_Y_Position; uint32_t Wafer_ID; uint32_t Lot_ID; uint32_t Reserved_5; uint32_t Reserved_6; uint32_t Reserved_7; uint32_t Test_Results; } SysCtl_Die_Record_Info;
For MSP430 I write (according to this page):
struct Die_Record_Info *pDIEREC; unsigned char bDieRecord_bytes; TLV_getInfo(TLV_TAG_DIE_RECORD, &bDieRecord_bytes, (unsigned int **)&pDIEREC); typedef struct { uint16_t Die_Record_Tag; uint16_t Die_Record_Length; uint32_t Lot_Wafer_ID; uint16_t Die_X_Position; uint16_t Die_Y_Position; uint16_t Test_Results; } Die_Record_Info;
I will obtain the unique ID from Lot_Wafer_ID + Die_X_Position + Die_Y_Position, as above for MSP432.
Can someone please tell me if I am reading the die record correctly for MSP430I2020?