I have the task of implementing a CRC16 checksum calculation into a DZ32. For this controller flash memory starts at 0x7C00. My first approach is to simply take all bytes from 0x7C00 up to and including 0xFFFF for this calculation.
This would include the values read from range 0xFFAE to 0xFFBF (called the 'nonvolatile registers') containing FTRIM, TRIM, NVBACKKEY, NVPROT, NVOPT.
It also contains 'reserved' bytes.
Can I rely on the fact that these reserved bytes always contain the same values when read? Or is there a chance that for a specific controller different values may be read from time to time even if the remaining flash image is completely unchanged? (This would have the unwanted result that the CRC16 value calulated will change from time to time - but a constant is expected)