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


von Lars (Gast)


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

von Rahul, der Trollige (Gast)


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!

von Lars (Gast)


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

von Lars (Gast)


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

von biggie (Gast)


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

von Magnus Müller (Gast)


Lesenswert?

Ist der Watchdog disabled? (--> Fuses!)

von seb (Gast)


Lesenswert?

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

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.