Forum: Mikrocontroller und Digitale Elektronik debugging über Seriellport


von Peter H. (thunderfrog)


Lesenswert?

Mahlzeit Gemeinde !

Hänge seit einer Woche in den Seilen, da mich eine grundlegende Frage 
beschäftigt:

Ist es möglich einen AVR (z.B.ATMEGA8) OHNE bootloader an einen 
Traminalprogramm zu hängen und zu debuggen ?

Ich habe den USB-BUB von ModernDevice 
(http://jeelabs.com/products/usb-bub)
und würde gerne damit Daten vom Atmega8 auf einen Terminal ausgeben...

Kann ich einfach RX/TX (gekreuzt...) VCC, GND und RST vom USB-BUB an die 
Atmega Pins hängen und gut is ?

Das der Terminal an die entsprechende COM konfiguriert werden muss ist 
klar, ich will nur nix abschiessen :O)

Danke vorab für Eure Hilfe

von HolgerT (Gast)


Lesenswert?

lange Frage, kurze Antwort: Ja, geht prima (Ich mache das häufug so). 
Musst eben in deinen code regelmäßg Statusmeldungen an die Serielle 
Schnittstelle ausgeben.

von Purzel H. (hacky)


Lesenswert?

Man kann's ja so machen, dass man die auszulesenden Variable erst per 
einem Byte spezifiziert.

von Peter H. (thunderfrog)


Lesenswert?

@HolgerT
@Mikro Oschi

... dann danke ich Euch Beiden recht herzlich für die erhoffte Antwort !
Wenn meine Pizza fertig ist,werde ich zu tate schreiten :O)

Dank und Gruß

Peter

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

ich habe mir für die verschiedensten Projekte (vom Primitivprozessor bis 
zum PC mit Pascal oder C-Programm) immer eine einfache Funktion 
geschrieben, die einen Textstring und dahinter eine Zahl ausgibt - für 
die möglichst universelle Verwendung ist das i.d.R. gleich als long 
integer deklariert. Die kann ich dann immer an zweifelhaften Stellen 
aufrufen und später den Aufruf wieder entfernen.

Das funktioniert vom Z80 bis zum Core-i-Prozessor und selbst dann, wenn 
unter Windows der IDE-eigene Debugger versagt - stürzt die Software ab, 
so sehe ich an den bereits ausgegeben Meldungen immerhin, wieweit das 
Programm etwa gelaufen ist.

Gruss Reinhard

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

ich habe mir für die verschiedensten Projekte (vom Primitivprozessor bis 
zum PC mit Pascal oder C-Programm) immer eine einfache Funktion 
geschrieben, die einen Textstring und dahinter eine Zahl ausgibt - für 
die möglichst universelle Verwendung ist das i.d.R. gleich als long 
integer deklariert. Die kann ich dann immer an zweifelhaften Stellen 
aufrufen und später den Aufruf wieder entfernen.

Das funktioniert vom Z80 bis zum Core-i-Prozessor und selbst dann, wenn 
unter Windows der IDE-eigene Debugger versagt - stürzt die Software ab, 
so sehe ich an den bereits ausgegeben Meldungen immerhin, wieweit das 
Programm etwa gelaufen ist.

Gruss Reinhard

von Peter H. (thunderfrog)


Lesenswert?

Das ist auch eine gute Idee...
Ich habe hier allerdings einen bereits fertigen Quellcode, es ist die 
Wörteruhr von Christian Aschoff, setzt allerding auf Arduino auf. Der 
Code ist bereits mit den entsprechenden Meldungen versehen, muss nur 
debug einkommentieren (ist als Kommentar hinterlegt).
Da ist momentan auch mein Problem: ich habe nach dieversen Versuchen den 
Quellcode mit Arduino kompiliert, hex file aus dem temp-Ordner geholt 
und anschliessend mit avr Studio auf ein Atmega168 geschrieben, fuses 
natürlich vorher auf den int. Osz. 8MHz gesetzt, da Arduino 
standardmäßig den ext. benutzt...das alles, weil ich es ohne Arduino 
machen wollte :O)
Das Programm funktioniert auch so weit, die Uhr läuft, allerdings habe 
ich stellenweise das Gefühl, das der Pollin DCF nicht richtig synct mit 
der DS1307. Also habe ich den debug Modus einkommentiert und gleiche 
Prozedere wie beim ersten mal... mit dem Unterschied, das es nicht 
läuft, habe nur wirre Zeichen auf der Matrix... schreibe ich wieder die 
alte .hex Datei drauf, läuft es wieder... komisch...Ich bleibe auf jeden 
Fall mal drann...

Danke für die gute Tips !

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.