STM32H7 FLASH CRC
I'm trying to use the internal CRC calculation unit in the STM32H7 FLASH controller via the HAL_FLASHEx_ComputeCRC() api. I've finally started getting crc32 values returned but can't match them against any common algorithms ... reviewing AN5507 implies it is using poly 0x4c11db7 and maybe initial value 0 ?
I had thought it would match the CRC peripheral defaults but this is not the case.
Part of my issue may be address bounds, it seems to be inclusive of the start/end addresses so end address is 1 less (though RM indicates bottom 2 bits can't be set so -1,-2,-3 gives the same results). Finally got consistent return values with different burst lengths but still can't matching other algorithms such as those generated by srec_cat with the -STM32 filter.
I've seen some comments indicating this may not work at all but the latest errata has nothing about it (STM32H725)
It feels like CRC checking of FLASH memory is exactly what this was supposed to be used for but I'm surprised it isn't better documented. Google AI makes comments the parameters are fixed but is mysterious as to what they actually are.
Any pointers appreciated, thanks.
