www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Studio Debug: Springt nicht in Funktion


Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich stehe vor einem seltsamen Problem und weiß nicht so recht weiter. 
Habe ein AVR Studio Projekt und dieses compiliert auch ohne eine 
Fehlermeldung durch. Auch das Flashen des Atmega1281 geht ohne Probleme. 
Allein beim Debuggen wird nicht in eine von mir implementierte Funktion 
gesprungen. Er übergeht die Funktionen einfach ohne irgendein Zeichen zu 
geben. Alle anderen Funktionen werden ohne Probleme aufgerufen. Hat hier 
irgendjemand schon mal ein ähnliches Problem gehabt?

Gruss,
Lars

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>compiliert auch ohne eine Fehlermeldung durch.
Bedeutet nur, dass du keinen Rechtschreibfehler gemacht hast.

>Auch das Flashen des Atmega1281 geht ohne Probleme.
Soll das  heissen, dass das Programm im Controller auch funktioniert, 
oder ist damit nur der Programmiervorgang gemeint?

>Er übergeht die Funktionen einfach ohne irgendein Zeichen zu geben.
Würde ich auch machen...

>Hat hier irgendjemand schon mal ein ähnliches Problem gehabt?
Ich zumindest nicht.

Poste den Code!

Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#include "uart.h"

...
application_init();
uartInit();
uart_send( 0x31 );
uart_send( 0x31 );
uart_send( 0x31 );
...

application_init( void ){
....
}


uartInit und uart_send sind in einer externen Datei. Application_Init 
wird sauber aufgerufen, den Rest möchte er einfach nicht mehr ausführen.

> Soll das  heissen, dass das Programm im Controller auch funktioniert,
> oder ist damit nur der Programmiervorgang gemeint?
Damit ist der Programmiervorgang gemeint. Ich debugge auf der Hardware.

Gruss,
Lars

Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah jetzt bekomme ich auch diese Fehlermeldung:

Debugger: 'Break at line my_uart.c:121' has been disabled. Unable to 
bind line 121 in file "my_uart.c" to a program memory address.


Kann damit jemand was anfangen?

Danke für eure Hilfe

Autor: biggie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

ich habe das gleiche Problem und würde gerne wissen, ob jemand eine 
Lösung dazu hat.

Ich versuche mein ganz einfaches Programm mit Hilde des JTAGICEmkII zu 
debuggen.

int main (void)
{
  IO_init();

  while(1)
  {

    // Sendewert
    adcval = ADC_read();
    LED_task_tx(adcval);
  }
}

Die Funktion IO_init befindet sich in einer eigenen Datei und sie wird 
auch korrekt aufgerufen. Die Funktion wird abgearbeitet und danach kehrt 
das Programm zum Anfang der main-Funktion zurück, wo dann wieder IO_init 
aufgerufen wird.
Alle anderen Funktionen werden nicht beachtet.

Kann mir jemand helfen?

Viele Grüße
biggie

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist der Watchdog disabled? (--> Fuses!)

Autor: seb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie lautet der Code in IO_init() ?
Schon mal Step by Step in der Routine gedebugged ?
Eventuell Kurzschluss bei den Pins ?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.