Flash Destroyer firmware update
The Flash Destroyer was offline briefly for a firmware update (live stream here). In anticipation of rolling over to 10 million write-verify cycles, we’ve added a decimal point that shows the millions place. When it hits 10 million the least significant digit (the 1s) will be dropped, and the decimal point will move one to the right.
The counter is stored as a 32bit (4 byte) unsigned long variable. The maximum counter value is 4,294,967,295 before rolling over to 0 again, but this can be extended further if needed.
We pushed the button to save the current write count before updating the firmware. The image above shows a dump of the PIC’s internal EEPROM what contains the saved value.
- The first four bytes are the saved count: 0x006E7ED9. If you put your system calculator in scientific/HEX mode, enter 006E7ED9, and then switch to DEC, you can get the more familiar decimal value 7,241,433.
- 0xC9 is the simple parity check byte that ensures the previous four bytes weren’t just empty values on a blank chip.
There’s still 200+ bytes of free EEPROM in the PIC that can be used to store other configuration info, like EEPROM type or address, or write speed.Flash Destroyer and tagged 10million, eeprom, firmware, unsigned long.