My test program on the Coridium ARMmite was almost working, but the repeating 0x55aa bytes in the sector I was testing was being overwritten with a pattern that didn't resemble the 0x00, 0x01, 0x02, ... 0xff I was attempting to write. Or was it? Some analysis of the 0x00, 0x00, 0x00, 0x02, 0x04, ... result revealed that the one bits were being set to zero all right, but zero bits were not being set to one. I vaguely remembered this to be a characteristic of some type of flash memory, and the Wikipedia article confirmed that about NOR flash, under the Limitations section. So I've got to make sure when programming that I leave unused bytes as 0xff so they can be modified later.

Back to blog or home page

last updated 2012-11-15 21:40:38. served from tektonic.jcomeau.com