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.

MSP430F2618: How to ensure the checksum code integrity when verifying flash code during system operation?

Part Number: MSP430F2618


     In the related thread(https://e2e.ti.com/support/microcontrollers/msp430/f/166/p/610510/2248352?pi318617=2&keyMatch=how%20marginal%20read&tisearch=Search-EN-Everything), the TI Employee, Caleb Overbay reconmmended to calculate a CRC of the application image to verify the flash code integrity. Based on his suggestions , I want to calculate the CRC periodically during long term operation of the system. Where should I place the CRC calculation code? If I load the CRC calculation code into some flash regions different the applicaiton image, how can I guarantee the integrity of the CRC calculation code itself?

Thanks !

  • Hi,

    basically all FLASH regions are the same in terms of data retention. As the application code is much bigger than the CRC checksum the possibility of being corrupted is much higher for the application code. That does not mean the CRC cannot be affected.
    One option would be to write the CRC in e.g. three different places and do a majority vote. Unfortunately you cannot rule out the chance that all three are affected.

    There is also a chance that the application code is corrupted and the CRC is corrupted as well but in a way that is valid for the corrupted application code.

    If you need processors for safety related applications (e.g. automative braking systems, airbag ...) please have a look at our Safety MCU portfolio: www.ti.com/.../overview.html

    Best regards,
    Andre
  • oh... Thank you!
    Do others have some other solutions? o(* ̄︶ ̄*)o
  • Hi,

    do you have further questions? If not, please select "Resolved" for the post that solved your issue so this thread can be closed out.
    Thanks a lot!

    Best regards,
    Andre

**Attention** This is a public forum