Showing results for 
Search instead for 
Did you mean: 
Honored Contributor I

How does the checksum in the map file relates to the checksum o fthe rpd file?


I'm working on a remote upgrade feature through Ethernet for a MAX 10 device. 

In order to make sure that the content of the rpd file matches the configuration, I intend to read the map file, get the sections offset and length and then extract the data from the rpd file accordingly. 

And to make sure that the rpd file is indeed the one associated with the map file used, I wanted to test the checksum information contained in that map file. 

However, I'm not able to find a match with the content of the rpd file... :( 

I tried to compute the checksum with single xOr of 32 bits Integers through the whole content of the file, no success. 

I tried using CRC32 algorithm through the whole file: idem; skipping ICB section: idem; skipping UFM too: idem... 

Maybe I made a mistake in my CRC32 algorithm, but before spending too long trying to fix it, does anyone know how the checksum written in the map file is computed and if there is an easy way to verify that it matches with the content of the rpd file? 






Typical map file content:BLOCK START ADDRESS END ADDRESS 


ICB 0x00000000 0x00001FFF 

UFM 0x00002000 0x00011FFF 

CFM0 0x000BA000 0x00161FFF (0x0011C473) 

CFM1 0x00012000 0x000B9FFF (0x0009ECFF) 


Max 10 Setting: 


Verify protect: OFF 

Watchdog value: Not activated 

Configure device from CFM0 only: OFF 

POR: Instant ON 

IO Pullup: ON 

SPI IO Pullup: ON 


- Data checksum for this conversion is 0x0C1686D1 

- All the addresses in this file are byte addresses 


0 Kudos
1 Reply

Hi did you found a solution, I m in the same situation