dear TI expert,
i am learning outofobox_msp432e401yfirmware, when i study the SavePIDEEPROM function in board_funcs.c file, when call EEPROMProgram function, the address is 41 not 40, i do not is it right or not?
#define EXOSITE_LENGTH 65
#define EXOSITE_CIK_LENGTH 40
#define EXOSITE_PID_LENGTH 20
/* EEPROM offsets for PID and CIK. */
#define EXOSITE_CIK_OFFSET 0
#define EXOSITE_PID_OFFSET (EXOSITE_CIK_OFFSET + EXOSITE_CIK_LENGTH + 1) this value is 41
i do not know why EXOSITE_PID_OFFSET is 41 not 40, call EEPROMProgram function, the ui32Address should be a multiple of 4
/* Write CIK to the EEPROM. */
EEPROMProgram((uint32_t *)pcPIDBuf, (uint32_t)(EXOSITE_PID_OFFSET),
(uint32_t)EXOSITE_PID_LENGTH);
uint32_t EEPROMProgram | ( | uint32_t * | pui32Data, |
uint32_t | ui32Address, | ||
uint32_t | ui32Count | ||
) |
Parameters
pui32Data | points to the first word of data to write to the EEPROM. |
ui32Address | defines the byte address within the EEPROM that the data is to be written to. This value must be a multiple of 4. |
ui32Count | defines the number of bytes of data that is to be written. This value must be a multiple of 4. |
bool
SavePIDEEPROM(char *pcPIDBuf)
{
uint32_t ui32Len;
/* Get the length of the buffer. */
ui32Len = strlen(pcPIDBuf);
pcPIDBuf[ui32Len] = '\0';
/* Check if the buffer length is the expected length. */
if(ui32Len > EXOSITE_PID_LENGTH)
{
/* Buffer length is not the expected length. */
return false;
}
/* Write CIK to the EEPROM. */
EEPROMProgram((uint32_t *)pcPIDBuf, (uint32_t)(EXOSITE_PID_OFFSET),
(uint32_t)EXOSITE_PID_LENGTH);
/* Return Success. */
return true;
}