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

Gast #2747926
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?
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
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
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

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.