Bin file and memory in microcontroler are not identical after launch
Hello,
I have a project where I am trying to check flash memory by calculating the CRC32 of it and compare it to the CRC32 of the generated .bin file to verify memory corruption. As the CRC32 was not ok, I realize that the memory in the generated .bin file and in the microcontroler was not exactly the same.
I'm working on a F407 STM32 µC. After launching the debugger, the 2 32bits at memory address 0x0800 0188 are set to 0xFFFFFFFF while in the .bin file, they are equal to 0x00000000.
0x0188 is the length of the g_pfnVectors. So from what I understand 0x0800 0188, it is the address of the Default_Handler. Not sure of that. And I do not understand why it is set to 0x00000000 in the .bin file and set to 0xFFFFFFFF after launch.
I have check with STM32CubeProgrammer, the 2 32bits @0x0800 0188 are equal to 0x00000000 after flashing the bin file. It is the launch that change the value to 0xFFFFFFFF.
Is there a way to avoid this? Either make the data in flash stay at 0x0000 0000 are having 0xFFFF FFFF in the binary file?
I would be happy to have any explanation one the behavior.
Thank you
Antoine
