This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/PGA900: PGA900: epprom crc

Part Number: PGA900

Tool/software: Code Composer Studio

Hello

when i run my program on debug ,it's do as what i want to do.

After OTP,the program seem dies in the following code:

EEPROM_CRC = EEPROM_CALCULATE_CRC;
while(EEPROM_CRC_STATUS & EEPROM_CRC_CHECK_IN_PROGRESS)
{
; /* Wait till EEPROM CRC check in progress */
}
EEPROM_Read(128, 0, &EEPROM_Buf[0]);

When i delete these code ,ignore the register of  EEPROM_CRC_STATUS anywhere.

I read correct  on the latter  bytes of eeprom array,error on the former bytes of  eeprom array;

what different between debug mode and otp mode is running the code immediately after  power  on;

what should I do with the register of EEPROM_CRC_VALUE, after write 8 bytes data to  eeprom .

write a new crc to EEPROM_CRC_VALUE or  ignore it (the chip write to it by itself)?

 

 

 

  • Hi Chennangan,

    Whenever you change any data in the EEPROM you will need to calculate a new EEPROM CRC value and program it into the last byte of the EEPROM array. The PGA900 automatically calculates the CRC value on powerup (or any time a CRC check is initiated by setting the CALCULATE_CRC bit)  and that value is stored in the EEPROM_CRC_VALUE register. When you power on the device, the CRC check will run, and if the value in the last byte of the EEPROM does not match the data in the EEPROM_CRC_VALUE register then there will be an error.

    Also, for clarification, what do you mean by there being an error on the former bytes of the EEPROM array, but the correct data in the latter bytes?

    Regards,