Xmega128A1U - Problem mit Stackpointer?

Gast #3639447
Lesenswert?
• ▲
▼
Hallo zusammen,

ich habe ein Problem und weiß einfach nicht mehr weiter. Vorab ein paar 
Infos zu meiner Ausgangslage.
Ich nutze Atmel Studio 6 (Service Pack 2).
Der µC ist ein Xmega128A1U.
Ich nutze den Standardcompiler von AVR-Studio.
Programmer ist ein JTAGICE3.
Program Memory Usage:  44714 bytes   32,1 % Full
Data Memory Usage:  6820 bytes   83,3 % Full

Und hier mein tolles Problem:
Ich nutze vom AtmelSoftwareFramework die Library für die 
USB-Schnittstelle (funktioniert auch wunderbar). In meinen Programm (ca. 
3000 Zeilen oder mehr) habe ich eine selbst erstellte Funktion, die 
momentan an keiner Stelle aufgerufen wird (ja, ich bin mir sicher, dass 
sie nicht aufgerufen wird). Jetzt kommt das verblüffende: Wenn ich in 
dieser Funktion Änderungen vornehme, dann geht auf einmal die 
USB-Verbindung nicht mehr. Die Funktion hat nichts mit der 
USB-Schnittstelle zu tun und greift auf keine IO's zu. Meine Vermutung 
ist ein Problem mit dem Stack... Beim Debuggen kommt aber keine 
Fehlermeldung, wie z.B. Stackoverflow.

Ich hoffe, ihr könnt mir weiterhelfen.
Schon mal vielen Dank im Voraus!
Gast #3639462
Lesenswert?
• ▲
▼
nutzt die Funktion globale Variablen?
Machst du in deinem Programm komische Sachen mit Pointern auf 
funktionen?
poste doch mal die betroffen Funktion.
Wackel in der Funktion mit einem Pin und schau dirs mit dem Oszi an.
Lösch mal Schrittweise alles aus der Funktion raus bis es geht.
Gast #3639482
Lesenswert?
• ▲
▼
Ich habe in der Funktion mehrere sprintf(...). Alle geben nur fest 
definierte Strings aus. Die gesamte Funktion wird an keiner Stelle 
aufgerufen, hab schon versucht ein PIN toggeln zu lassen. Die Funktion 
wird definitiv nicht aufgerufen. Ich benötige die gesamte Funktion nicht 
mehr. Wenn ich die Funktion aber lösche, dann geht meine USB-Verbindung 
nicht mehr. Gerät wird auch nicht mehr richtig im Gerätemanager erkannt 
(VID und PID stimmen nicht mehr). Ich vermute, dass sich der 
Programmspeicher verschiebt und dadurch der Stack irgendwie Probleme 
macht.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.