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.

MSPM0G3519: How to calculate the checksum of application

Part Number: MSPM0G3519

Hi team,

My customer is developing M0G3519 dual bank function. They ask how to calculate the checksum of application after code jump from Bank0 to Bank1 ? 

Is the flash range calculated by phical address ?

Take the example of below diagram. Please clarify if below two assumptions are correct or not.

  1. Application 0 is running, To calculate the checksum of code flash, is the start address is BOOT_SIZE and the end address is 0x3FFFF ?
  2. Application 1 is running, To calculate the checksum of code flash, is the start address is 0x40000 + BOOT_SIZE and the end address is 0x7FFFF ?

1218.png

  • Hi Jerry,

    Does customer want to calculate the checksum of a application program to be updated? For example, when app0 is running, they want to update app1 program and calculate app1 program checksum, and when app1 is running, they want calculate app0 checksum, am I right?

    In this case, if checksum is calculate during app is running, customer always need to use address from 0x40000 + BOOT_SIZE to 0x7FFFF for calculating checksum of another bank program, no matter app0 or app1 is running. That is because when bankswap is enabled, the program always run in the logic low address, and the other program to be updated has a logic high address. 

  • Hi Pengfei,

    Thanks for your information. I will notify customer.