Aufruf von main() aus dem AVR Startupcode heraus, nach den ganzen
Initialisierungen wird mit CALL gemacht. Und das mosert der Debugger an.
1 | +00000061: 940E0067 CALL 0x00000067 Call subroutine
|
Wenn du meine Disassembler-Listing anschaust, dort wird statt CALL ein
RCALL gemacht und alle JMP am Anfang sind RJMPs.
Es wurde bei deinem Listing beim Kopilieren eine AVR Architektur
benutzt, für die das (avr-lic interne) Makro _AVR_HAVE_JMP_CALL_
definiert ist.
Ich kann mir fast nur vorstellen, dass bei dir als Device kein Atmega8
sondern ein anderer AVR eingestellt ist. Der Atmega8 braucht die
Architektur avr4 und bei der ist dieses Makro nicht definiert. In
einem korrekten Listing für Atmega8 müssen RJMP und RCALL auftauchen.
Kontrolliere bitte mal die Seite (Menü) -> Project -> Configuration
Options in AVR-Studio, ob du wirklich den atmega8 eingestellt hast.
Dann einmal alles sauber machen (Clean bei Build...) und neu übersetzen.