Hi,
If a debugger shows somehting like ‚??‘ or ‚XX‘, it means that the memory access was terminated by bus error. In case of flash memory, it is a result of double bit ECC error.
Generally, there are three common reasons for ECC error:
- erase or program operation is terminated by unexpected reset, so the flash is left in undetermined state
- due to over-programming when we program double word which is not fully erased
- due to flash wear-out when too many erase-program cycles have been performed or when data retention period was exceeded
If you can see the question marks everywhere, it’s caused by interrupted erase operation, most likely. The solution is to erase the flash again.
Regards,
Lukas