Abbruch beim Funktionsaufruf

Gast #77478
Hallo zusammen,

ich versuche eine Steuerung über ATmel128-Controller zu realisieren.
Das Programmieren erfolgt in C, das Kompilieren mit avr-gcc.

Dabei tritt folgendes Problem auf:
Beim Versuch selbstdefinierte Funktionen aufzurufen bricht der
Mikrocontroller den Prozeß zum Zeitpunkt des Funktionsaufrufs ab. Dies
geschieht selbst bei leeren Funktionen. Der Programmcode ohne
Funktionsaufruf läuft problemlos (=fehlerfrei).

Kennt einer von Euch das Problem? oder besser: eine Lösung?

Das gleiche Phänomen des Abbruchs tritt auch in einem Programm auf, bei
dem ich eine Endlosschleife (mit while(1), for(;;) oder goto Start)
realisieren wolte. Das entsprechende Programm habe ich als Datei
angehängt. Im vorhandenen Zustand läuft es einwandfrei, beim Einfügen
der Schleife (auf eine der oben genannten Arten) kommt es beim Beginn
der Schleife zum Abbruch.

Ich würde mich freuen, wenn mir jemand bei der Fehlerbehebung helfen
könnte.

Vielen Dank, Matthias
Angehängte Dateien:
Gast
Hallo Jörg,

vielen Dank für die Antwort, aber irgendwie stehe ich gerade auf dem
Schlauch. Zumindest kann ich keine entsprechende Passage in den faq
finden. Wäre für einen link oder eine Beschreibung dankbar.

MfG, Matthias
Gast
wie jörg schon sagte ist es sehr wahrscheinlich die mega103 fuse bit.

d.h. standard mässig beim kauf vom mega128 ist die mega103 fuse bit
gesetzt und dein mega128 läuft dann im mega103 kompatiblitäts modus. du
hast dein programm aber für einen mega128 compiliert und der stack vom
mega103 liegt an einer anderen stelle im sram als der vom m128 und
somit crashed dein controller nach dem ablauf deiner funktion weil er
die rücksprungadresse an einer anderen stelle sucht.

nimm pony prog und lösche diese fuse bit.
Gast
nachtrag:
zum testen kompiliere dein programm mal für einen mega103 und schon
sollte dein programm laufen ohne probleme.
Dir stehen dann aber nicht alle funktionen vom m128 zur verfügung !!
Siehe datenblatt m128 !!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 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.