Bootloader auf ATmega2560 neu brennen - stk500 funktioniert nur 1x!

Hallo

Möchte den Bootloader auf meine custom made Atmega2560 platform laden um dann bequem über avrdude und stk500 zukünftige FW zu laden.
Ich schaffe es den Bootloader auf den Chip zu brennen um dann mit avrdude mit der Einstellung Programmer = "AVRISP MKII" neue FW hochzuladen. Das funktioniert aber nur ein mal als ob der stk500 Bootloader überschrieben wird. Habe dann mit dem lock byte probiert die SPM und LPM protections einzuschalten aber das geht nicht.

folgende Schritte mach ich:

  1. vorbereiten, unlock
    avrdude -p m2560 -c usbtiny -e -U lock:w:0x3F:m -U efuse:w:0xFD:m -U hfuse:w:0xD8:m -U efuse:w:0xFF:m

  2. Bootloader hochladen
    avrdude -p m2560 -c usbtiny -U flash:w:stk500boot_v2_mega2560.hex

  3. lock byte setzen
    avrdude -p m2560 -c usbtiny -U lock:w:0x0F:m -v

Den Bootloader lade ich mit usbtiny hoch.

Weiss jemand was ich da machen muss, damit der Bootloader drin bleibt?
Danke

Hast Du es mal mit der ArduinoIDE versucht?

Ja ich kann auch den Bootloader über ArduinoIDE flashen. Auch hier ich kann nur 1 x mit dem stk500 hochladen....

Ich habe das Gefühl als liege es an den lock bits für SPM und LPM aber ich habe schon alle möglichen Varianten durchgespielt.

Was ich noch erwähnen muss ist , dass das hochladen mit usbtiny immer funktioniert. Ich benötige aber für die Endversion stk500....

Interessant ist der Output von avrdude wenn ich über Usbtiny hochlade:

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x1b00

  • 0xe8 != 0x6d*
    avrdude: verification error; content mismatch
    avrdude done. Thank you.
    the selected serial port
    does not exist or your board is not connected

Die Firmware läuft aber...