avrdude: verification error, first mismatch at byte 0x7000

Why the hell would it be trying to write/read 0x7000 then? That makes no sense - that address should be used for the 28,673rd byte, so at 28360 bytes, it shouldn't be trying to go that high.

Can you export the .hex file and post it? (from one of the menus on 1.6.5 and later of the IDE)

Also, what IDE version?

Are you using the builtin arduino micro core, or a thrid party core for read bear boards? If third party core, link to it.