Forum: Mikrocontroller und Digitale Elektronik Atmega32 + JTAGICE + WinAVR + On Chip Debugging


von Kay I. (imperator)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

nach einiger erfolgloser Suche hoffe ich, dass Ihr mir helfen könnt.
Ich bin Neuling in der AVR-Welt und habe mir für den Einstieg einen
JTAGICE mkII und einen Atmega32L 8PU sowie einen Atmega16L8 zugelegt.

Was schon funktioniert hat ist der ISP-Mode ... ein Code konnte 
aufgespielt werden und wurde dann vom Atmega ausgeführt.

Was noch nicht geht ist das Debuggen direkt auf dem Controller im 
eingebauten Zustand.

Ich habe mal ein paar Screenshots angehängt, sodass man schnell meine 
Konfiguration erkennen kann.

Komisch ist, dass ich in der Simulation problemlos nach dem 
Debugging-Start bei main() lande. Im Debugging mit JTAGICE springt der 
Program Counter sofort auf 0x3fff und verharrt dort.

Ich würde mich sehr über Unterstützung freuen!

von Kay I. (imperator)


Angehängte Dateien:

Lesenswert?

... hat niemand einen Einfall, warum der Debugger sich so komisch 
verhält?

Welche Grund kann es geben, dass der Code im Debugger einfach nicht 
ausgeführt wird, sondern der "Program Counter" im Nirvana startet ...

hier noch mein Code:
1
#include <avr/io.h>
2
#include <avr/interrupt.h>
3
4
// Für alte avr-gcc Versionen
5
#ifndef SIGNAL
6
#include <avr/signal.h>
7
#endif // SIGNAL
8
9
#define PAD_LED  1
10
#define PORT_LED PORTB
11
#define DDR_LED  DDRB
12
13
#ifndef F_CPU
14
#define F_CPU    1000000
15
#endif
16
// //////////////////////////////////////////////////////////////////////
17
// Das Hauptprogramm: Startpunkt 
18
int main()
19
{
20
    // LED-Port auf OUT
21
    DDR_LED  |= (1 << PAD_LED);
22
    while (1)
23
    {
24
        PORT_LED |= (1 << PAD_LED);
25
        PORT_LED &= ~(1 << PAD_LED);
26
    }
27
}

von Kay I. (imperator)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe es endlich zum laufen bekommen ...

Das Problem war zum einen, dass in meinem Aufbau der Reset (durch einen 
defekten Taster) dauerhaft aktiv war. Die Pullups waren nicht 10k 
sondern versehentlich 1k-Widerstände.

Weiterhin habe ich (wie im Bild zu sehen) das ELF-File programmiert.

Jetzt kann ich endlich Schritt für Schritt durch den Code marschieren.
Ich danke trozdem allen, die sie Zeit für mein Problem genommen haben!

Gruß,

Kay

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.