Sorry Nick you are too fast. I start typing this before you posted.
I’ve also dumped the flash using your method but I’ve noticed we are using different versions of avrdude. I’m using “Version 5.11-Patch#7610, compiled on Aug 31 2011 at 08:02:19” (on a Win7 x64 PC). The file size for me was 630,759 bytes this seems too large? I’ve used notepad to compare the dumped file with the “stk500boot_v2_mega2560.hex” and if I understood anything about the addressing, I’d be guessing the USBasp is putting the bootloader in the wrong address- as you stated. The dump also appears to repeat and I’m guessing that can’t be good.
Here’s the first lines of “stk500boot_v2_mega2560.hex”:
:020000023000CC
:10E000000D94F6F20D941FF30D941FF30D941FF36E
:10E010000D941FF30D941FF30D941FF30D941FF334
:10E020000D941FF30D941FF30D941FF30D941FF324
:10E030000D941FF30D941FF30D941FF30D941FF314
:10E040000D941FF30D941FF30D941FF30D941FF304
:10E050000D941FF30D941FF30D941FF30D941FF3F4
:10E060000D941FF30D941FF30D941FF30D941FF3E4
:10E070000D941FF30D941FF30D941FF30D941FF3D4
:10E080000D941FF30D941FF30D941FF30D941FF3C4
:10E090000D941FF30D941FF30D941FF30D941FF3B4
:10E0A0000D941FF30D941FF30D941FF30D941FF3A4
:10E0B0000D941FF30D941FF30D941FF30D941FF394
:10E0C0000D941FF30D941FF30D941FF30D941FF384
:10E0D0000D941FF30D941FF30D941FF30D941FF374
:10E0E0000D941FF341546D65676132353630004140
:10E0F000726475696E6F206578706C6F72657220DE
:10E1000073746B3530305632206279204D4C530099
:10E11000426F6F746C6F616465723E004875683F52
:10E1200000436F6D70696C6564206F6E20203D2028
:10E1300000435055205479706520202020203D2038
And here’s the first lines of the dumped file:
:20000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
:20002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:20004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
:20006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
:20008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
:2000A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60
:2000C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
:2000E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20
:20010000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
:20012000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
:20014000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF
And moving down in the dumped file:
:20DFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41
:20E000000D94F6F20D941FF30D941FF30D941FF30D941FF30D941FF30D941FF30D941FF392
:20E020000D941FF30D941FF30D941FF30D941FF30D941FF30D941FF30D941FF30D941FF348
:20E040000D941FF30D941FF30D941FF30D941FF30D941FF30D941FF30D941FF30D941FF328
:20E060000D941FF30D941FF30D941FF30D941FF30D941FF30D941FF30D941FF30D941FF308
:20E080000D941FF30D941FF30D941FF30D941FF30D941FF30D941FF30D941FF30D941FF3E8
:20E0A0000D941FF30D941FF30D941FF30D941FF30D941FF30D941FF30D941FF30D941FF3C8
:20E0C0000D941FF30D941FF30D941FF30D941FF30D941FF30D941FF30D941FF30D941FF3A8
:20E0E0000D941FF341546D656761323536300041726475696E6F206578706C6F72657220EE
:20E1000073746B3530305632206279204D4C5300426F6F746C6F616465723E004875683FDC
:20E1200000436F6D70696C6564206F6E20203D2000435055205479706520202020203D2071
:20E14000005F5F4156525F415243485F5F203D2000415652204C69624320566572203D2033
And further down to a part that seems to begin a repeat:
:20FF200077FD04D02ED006D000201AF4709561957F4F0895F6F7909581959F4F0895A1E2DB
:20FF40001A2EAA1BBB1BFD010DC0AA1FBB1FEE1FFF1FA217B307E407F50720F0A21BB30B40
:20FF6000E40BF50B661F771F881F991F1A9469F760957095809590959B01AC01BD01CF01FF
:20FF80000895AA1BBB1B51E107C0AA1FBB1FA617B70710F0A61BB70B881F991F5A95A9F7A1
:20FFA00080959095BC01CD010895F999FECF92BD81BDF89A992780B50895262FF999FECF1B
:20FFC0001FBA92BD81BD20BD0FB6F894FA9AF99A0FBE01960895F894FFCFFFFFFFFFFFFF11
:20FFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21
:020000040003F7
:20000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
:20002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:20004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
The first thing I noticed was how different the format is, but perhaps that’s just cosmetic. Perhaps the above code can confirm that the USBasp is or is not writing to the correct addresses?
I do think I need to buy a decent programmer and toss this USBasp in the bin. My only problem with buying a AVRISP Mk II was last time I checked the shipping was going to cost me more than the device!