PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche AVR-Debugger



clupus
05.02.2006, 22:34
Hallo allerseits,

ich hab jetzt auch mal angefangen, mit avr-gcc meine AVRs zu programmieren. Nun hab ich oft das Problem, dass ich nicht weiß, warum er mir manchmal bestimmte Sachen macht und es erfordert meist sehr viel Zeit diese kleinen Bugs zu finden, wenn man keine Position im Programm hat, an der was falsch gelaufen ist.

Ich habe schon gesehen, dass es einige Geräte, Verfahren und Programme gibt, die mir helfen können.

Ich verwende einen ATmega8 und (SuSE) Linux.

Welche Software (-Kombination) würde mit welcher Hardware (möglichst Eigenbau, kleine bis mittlere Platinen sind möglich, ebenso eine Programmierung über das dapa-Interface (uisp (http://savannah.nongnu.org/projects/uisp))) es mir ermöglichen, "in den Chip bei laufendem Betrieb hineinzuschaun"?

Wenn ich eine Simulation vorher duchführen möchte, welche Software wäre gut geeignet und verträgt sich auch untereinander?

MfG
Christian

ogni42
06.02.2006, 09:24
Simulation: AVRStudio

ICE: In-Circuit-Emulator: Gibt'S von ATMEL (JTAG ICE mkII) oder als Selbstbauprojekt. Google mal nach "evertool".

SprinterSB
06.02.2006, 10:15
ATmega8 selbst unterstützt kein In-System-Debugging, dazu bräuchtest du JTAG oder das neuere OWDI (One Wire Debug Interface), das allerdings recht teure Hardware erfordert..

Als Bastler kann man sich behelfen mit Test"ausgaben" (LED, Display, über der USART zum PC, Töne (Morse), ...). Das ist zwar kein Dubug im eigentlichen Sinne, weil es Codeänderung/Hardware braucht, aber manchmal ganz hilfreich und nicht teuer.

m.a.r.v.i.n
06.02.2006, 15:11
Oder umsteigen auf den pinkompatiblen ATmega88, der hat das DebugWire Interface schon drin.
DebugWire wird derzeit aber nur vom ATMEL JTAG ICE mkII unterstützt.
Kostet 329.- € bei Reichelt.

Gruß m.a.r.v.in

clupus
06.02.2006, 17:30
Oder umsteigen auf den pinkompatiblen ATmega88, der hat das DebugWire Interface schon drin.
DebugWire wird derzeit aber nur vom ATMEL JTAG ICE mkII unterstützt.
Kostet 329.- € bei Reichelt.

Gruß m.a.r.v.in

Wo bekommt man den ATmega88? Bei Reichelt und Conrad hab ich nix gesehen.

Kann evertool mit diesem mkII Standard schon umgehen?

MfG
Christian

m.a.r.v.i.n
06.02.2006, 17:43
Wo bekommt man den ATmega88? Bei Reichelt und Conrad hab ich nix gesehen.

Ok. Bei Reichelt gibt es dafür den mega168 (mit 16kB Flash).



Kann evertool mit diesem mkII Standard schon umgehen?


Nein. Derzeit unterstützt nur der Atmel JTAGICE Mk II debugWire.

Gruß m.a.r.v.i.n

ogni42
06.02.2006, 18:16
Das evertool wird auch von AVRStudio unterstütz und ist für ca. 20€ selbst herstellbar (also weniger als 1/10 der Kosten des ICE mkII). Kann zwar ein bisschen weniger (kein 1-wire debugging, IIRC), aber das ist bei dem Preis und er Verwendung von Chips die "normales" JTAG verwenden, zu verschmerzen.

clupus
08.02.2006, 12:52
OK, ich glaube, dann ist es fast sinnvoller, eine Prototypen-Platine mit nem Mega 16 o.ä. herzustellen, so dass man das JTAG Interface hat und mit dem normalen evertool das Debugging übernehmen kann. Soweit richtig, oder?

Wenn ich mal von evertool ausgehe, welche Software brauche ich dann, um das Debugging durchzuführen?
Eigentlich besteht eine komplette Entwicklungsumgebung duch aus folgendem:

Compiler und Assambler (avr-gcc & Co.)
Programmiersoftware (avr-uisp, avrdude, ...)
Simulationssoftware, um zu sehen, wie die Programmierung bei bestimmten Situtaionen regiert, ohne dass man zuvor aufprogrammiert und hofft, dass nix kaputt geht. Welche Software ist hier zu empfehlen? (Linux!)
grafische IDE zum Schreiben der Codes und um beim Debuggen eine sinnvolle Anzeige zu erhalten (z.B. aktuelle Zeile markieren). Auch hier weiß ich nicht, was ich hier gut verwenden kann.
AVR-Debugger (avr-gdb)
Verbindungsschittstelle zwischen AVR(JTAG-Interface) <--> avr-gdb (Welche Software?)
Möglichst noch ein HowTo, das funktioniert, dazu.


Könnt ihr mir also bitte sagen, welche Programme mir noch fehlen und wie diese heißen/welche Projekte man verwenden könnte. Wie gesagt ich verwende SuSE und würde das gern auch beibehalten ;-)

MfG
Christian

bluebrother
13.02.2006, 14:59
Simulationssoftware, um zu sehen, wie die Programmierung bei bestimmten Situtaionen regiert, ohne dass man zuvor aufprogrammiert und hofft, dass nix kaputt geht. Welche Software ist hier zu empfehlen? (Linux!)

hatte da mal was gesehen, habs aber selber nicht getestet. Frag mal Freshmeat.

grafische IDE zum Schreiben der Codes und um beim Debuggen eine sinnvolle Anzeige zu erhalten (z.B. aktuelle Zeile markieren). Auch hier weiß ich nicht, was ich hier gut verwenden kann.

einen brauchbaren Editor. Z.b. kate, gvim. Oder gleich kdevelop. Wahlweise entsprechende Gnome-Programme.

Verbindungsschittstelle zwischen AVR(JTAG-Interface) <--> avr-gdb (Welche Software?)

sollte die man-page von avr-gdb verraten. Hatte unter Linux leider noch nicht das Vergnügen eines JTAGs.

Möglichst noch ein HowTo, das funktioniert, dazu.

sowas könnte Google finden. Mir ist jedenfalls keins bekannt -- außer RTFM.

Wie gesagt ich verwende SuSE und würde das gern auch beibehalten ;-)

wenn du dir das antun willst ...
Bin auch Linux-User, aber kein Suse. Nie wieder.

ogni42
13.02.2006, 17:00
Zieh' (und installier) Dir WinAVR und AVRStudio. Dann hast Du alles was Du brauchst. Evertool läuft als JTAGICE (nicht versehentlich das mkII auswählen)

bluebrother
14.02.2006, 11:42
Zieh' (und installier) Dir WinAVR und AVRStudio. Dann hast Du alles was Du brauchst. Evertool läuft als JTAGICE (nicht versehentlich das mkII auswählen)
Er hat geschrieben dass er unter Linux arbeitet. Wenn es eine Linux-Variante vom AVRStudio gibt: wo? Und WinAVR ist Windows-only. Der avr-gcc lässt sich aber genauso unter Linux bauen -- um genau zu sein ist WinAVR nix anderes wie ein vorgefertigtes Paket vom avr-gcc (und ein paar anderer Tools und der avr-libc) für Windows.

Erst lesen, dann posten. Danke.

clupus
15.02.2006, 22:21
Also, was jas JTAG betrifft, komme ich wohl doch niht drum herum, ne kleine Windows-Installation durchzufürhen und nur das Atmel Studio draufzumachen.

Mal ne andere Frage: Ich verwende (seit neuestem) zum Debuggen avr-ddd. Das scheint ganz gut zu funktionieren. Kombiniert mit simulavr kann der PC damit den Atmel emulieren.
Hat jemand erfahrung mit simulavr? Ich meine: Weiß jemand wie ich die IO-Register zum debuggen bearbeiten kann?

Möglicherweise kennt auch jemand avrora? Damit scheint man zwar viel simulieren zu können, jedoch habe ich bisher keine sinnvolle Möglichkeit gefunden, einen Chip zu simulieren, der dann auch interagiert (Wie greife ich auf die IOs zu?)

MfG
Christian