Hallo Thomas,

ich habe gerade noch mal in das Datenblatt gesehen, die Interuptvectoren liegen bei 0x0008 bzw. 0x0018.

Wenn ich das richtig interpretiere, dann liegen in Deiner HEX-Datei sowohl der Start-Vector für das Hauptprogramm als auch für das Bootloaderprogramm an der Stelle 0x0000.
Das geht aber nicht!!!!!
Du musst den C-Compiler so herrichten, dass er die Startadresse für das Hauptprogramm an eine Stelle legt, die ausserhalb des Bootloaders liegt!! Vom Bootloader aus springst Du dann an diese Stelle und erreichst so Dein eigentliches Programm!! (welchen C-Compiler nutzt Du?)

GRUSS
INGO