verify current firmware before flashing: only flash if it differs.
This will help save the flash from getting worn out.
implement writing, and don't waste so much cpu time when waiting
for data.