AVR Studio 4 - Programm Counter startet nicht bei "0"

#2747932
Lesenswert?

Tim Flechsel schrieb:
> Hallo Forengemeinde,
>
> ich hab nen Problem was ich nicht so ganz verstehe. Als erste
> Funktion/Commando in meiner main() habe ich eine Funktion die mir die
> Ports des AVR's initialisiert. Der Programm Counter hat dort aber
> bereits den Wert 0x000612. Wie kann das sein?

ehe dein main() loslegt, sind schon ein paar ganz andere Sachen 
passiert. da wurden zb die globalen Variablen initialisiert, die 
Speicherverwaltung in Gang gebracht etc. Auch das ist Code, der irgendwo 
stehen muss.
Ausserdem sagt ja kein Mensch, dass main() als erstes im Speicher stehen 
muss. Wo main() steht ist ja letztendlich egal, der wichtige Punkt ist, 
dass es die erste Funktion ist, die angesprungen wird, nachdem die 
Runtime das komplette C-Laufzeitsystem initialisiert hat.

Und an 0x0000 kann main() sowieso nicht stehen, weil dort beim AVR die 
Interrupt-Vektoren liegen.
Gast #2747953
Lesenswert?

Angesprungen wird die Funktion als erstes. Problem ist aber das aus 
irgendeinem Grund das Programm wieder von Anfang an startet, ohne das 
irgendein Rücksprungbefehl, Watchdog oder dergleichen aktiv ist.
Gast #2747980
Lesenswert?

Tim Flechsel schrieb:
> Angesprungen wird die Funktion als erstes. Problem ist aber das aus
> irgendeinem Grund das Programm wieder von Anfang an startet, ohne das
> irgendein Rücksprungbefehl, Watchdog oder dergleichen aktiv ist.

Was hat das jetzt mit dem ersten Thema und der Überschrift zu tun?

Das Programm ist immer noch unbekannt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren