Forum: Mikrocontroller und Digitale Elektronik AVR Studio 4 - Programm Counter startet nicht bei "0"


von Tim Flechsel (Gast)


Lesenswert?

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?

von Karl H. (kbuchegg)


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.

von Lutz (Gast)


Lesenswert?

Das hängt wohl ganz vom unbekannten und vollständigen Programm ab ...

von Lutz (Gast)


Lesenswert?

Adresse != PC

von Tim Flechsel (Gast)


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.

von Peter II (Gast)


Lesenswert?

ISR welche nicht implementiert ist?

von Lutz (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.