Forum: Mikrocontroller und Digitale Elektronik Was für Tooling brauche ich für DebugWire?


von Jörg (Gast)


Lesenswert?

Ich mache z.Zt hobbymäßig recht viel mit dem Atmel Mega8, recht komplexe 
Sachen. Meine "Toolchain" sieht folgendermaßen aus:

- irgendein Editor
- Makefiles
- WinAVR für Compiler und Libs
- PonyProg zum Brennen

Bin soweit zufrieden damit. Wenn ich debuggen muß (bei relevanten 
Änderungen immer) kann ich den Code noch für einen ganz anderen, 
größeren Controller compilieren, dank meiner dünnen 
Hardwareabstraktionsschicht. Dann habe ich Source Level Debugging, 
Breakpoints, kann Variablen angucken, Traces schreiben, etc.

Falls es nur auf dem Atmel klemmt muß ich zu "LED-Debugging" greifen, 
das ist dann unangenehm, brauche viele Iterationen um mich an das 
Problem ranzuarbeiten, ist aber recht selten.
Mit AVR Studio habe ich mich nicht recht angefreundet. Ein Simulator 
hilft mir auch wenig, weil die Applikation sehr eventgetrieben arbeitet, 
durch äußere Interrupts angestoßen, braucht die "Umwelt". Einzeln tut 
sich nichts.

Mit einem Mega88 hätte ich ja pinkompatibel das DebugWire Feature, müßte 
die Software vielleicht ein wenig umschreiben oder nur neu kompilieren.

Lange Einleitung, nun die Fragen:

- Muß das Hardwaredesign darauf Rücksicht nehmen, oder läuft das über 
den vorhandenen ISP-Stecker?

- Was für Tools brauche ich dafür? Gibt es was freies (z.B. gdb), 
möglichst mit GUI? Kann ich den liebgewonnenen avr-gcc weiter verwenden?


Vielen Dank

von S. W. (Gast)


Lesenswert?

Auf der Kostenlos-Alles-Umsonst-Strasse wirst du kaum Tools finden. 
Wenn du investieren willst, findest du bei Atmel die passenden Tools. 
Alleine mit Software geht da wenig.

von Jörg (Gast)


Lesenswert?

Stimmt, Hardware braucht man auch, ich vergaß noch mein selbstgelötetes, 
passives ISP-Kabel am Druckerport.  ;-)

Ich plane, mein Zeug demnächst als Open Source zu veröffentlichen. Daher 
soll die Entwicklungsumgebung so (hürden)frei wie möglich sein.

Ist also keine Schnorrertour, sondern warscheinlich mehr Geben denn 
Nehmen. (Für das andere uC-Board habe ich auch Geld bezahlt, aber das 
ist für Andere nicht praktikabel.)

von S. W. (Gast)


Lesenswert?

> Ich plane, mein Zeug demnächst als Open Source zu veröffentlichen. Daher
> soll die Entwicklungsumgebung so (hürden)frei wie möglich sein.

Mein Tip: Verkaufe die Tools für wenig Geld. Du wirst zwar im Geizgeilen 
Deutschland nur wenig Kunden finden, das sollte dich aber nicht davon 
abhalten. Meine größte Kundschaft sitzt auch im Ausland.

OpenSource hilft nur selten der Verbreitung.

von Fabian B. (fabs)


Lesenswert?

dW geht mit dem JTAG-ICE2 und dem AVR-Dragon und kompatiblen 
Prozessoren.
einzige Voraussetzung ist ein ISP Header (der muß eh vorhanden sein, da 
man dW erst per Fuse aktivieren muß). Allerdings muß das dW volle 
Kontrolle über den Reset Pin haben. Das heißt, am Reset darf beim 
Debuggen kein Pull-Up oder Kondesator dran hängen. Also muss man diese 
Entweder Ab-Jumperbar machen oder weglassen.
Ich debugge dann immer direkt ausm AVR-Studio mit GCC

Gruß
Fabian

von Jörg (Gast)


Lesenswert?

ISP-Header habe ich, am Reset habe ich nur einen 100k Pullup. Wäre das 
OK? Ist ja so gut wie nichts. Was sollten das für schlappe Treiber sein, 
die nicht gegen 100k Ohm ankommen...

Wie komfortabel ist das Debuggen via DebugWire? Geht "echtes" 
Source-Level Debugging, automatische und statische Variablen 
angucken/ändern, Step in/over/out, Breakpoints, vielleicht gar 
Watchpoints?

von spess53 (Gast)


Lesenswert?

Hi

Also wenn du nicht weisst was debugWire ist, bzw. was man damit machen
kann, bist du noch nicht sehr weit gekommen. Vielleicht solltest du
erst mal beschreiben,was auf deinem 'Mist' gewachsen ist,und was du 
eigentlich verkaufen willst.
Noch mein persönlicher Eindruck: Ich glaube du überschätzt dich etwas.

MfG Spess

von Hannes L. (hannes)


Lesenswert?

spess53 wrote:
> Hi
>
> Also wenn du nicht weisst was debugWire ist, bzw. was man damit machen
> kann, bist du noch nicht sehr weit gekommen. Vielleicht solltest du
> erst mal beschreiben,was auf deinem 'Mist' gewachsen ist,und was du
> eigentlich verkaufen willst.

Ich vermute, hier liegt ein Missverständnis vor.

Wenn ich richtig gelesen habe, will Jörg nicht den Debug-Wire-Krams als 
Open-Source zur Verfügung stellen ("verkaufen"), sondern die damit 
realisierten AVR-Projekte.

> Noch mein persönlicher Eindruck: Ich glaube du überschätzt dich etwas.

Ich weiß auch (noch) nicht, wie Debug-Wire funktioniert und habe deshalb 
keine Bauchschmerzen...

...

von S. W. (Gast)


Lesenswert?

> Wenn ich richtig gelesen habe, will Jörg nicht den Debug-Wire-Krams als
> Open-Source zur Verfügung stellen ("verkaufen"), sondern die damit
> realisierten AVR-Projekte.

Verstehe ich nicht. Die Software wird doch schon im AVR-Studio 
mitgeliefert. Man stöpselt seine gekaufte Hardware dran, setzt die 
DW-Fuses und legt los. Es ist kein zusätzlicher Code notwendig.

Wo greift jetzt das Projekt an? Geht es um einen selbstgeschriebenen 
Debugger? Selbstgelötete Hardware?

von Uwe .. (uwegw)


Lesenswert?

Jörg wrote:
> ISP-Header habe ich, am Reset habe ich nur einen 100k Pullup. Wäre das
> OK? Ist ja so gut wie nichts. Was sollten das für schlappe Treiber sein,
> die nicht gegen 100k Ohm ankommen...
>

Laut Datenblatt Tiny24 sind 10 bis 20k externer Pullup erlaubt (und mehr 
dürften auch nicht schlimm sein). Der interne Pullup ist sowieso aktiv. 
Das ganze läuft als "wire-AND (open-drain) bi-directional I/O pin with 
pull-up enabled", also etwa so wie 1wire.
Nur Kondensatoren dürften nicht an der Leitung hängen.

von Jörg (Gast)


Lesenswert?

OK, man braucht also AVR-Studio und JTAG-ICE2 / AVR-Dragon. Keine 
anderen Alternativen bekannt?
Mit AVR-Studio kann mal auch gcc-Code im Source debuggen?

Sorry für Mißverständnisse:
Nein, ich will keinen Debugger bauen und nichts verkaufen, weder hier 
noch im Ausland.  ;-)
Und ich bin schon sehr weit gekommen und weiß bei meinem Code durchaus, 
was ich tue. Für mich ist die Sache quasi abgeschlossen, nun geht es 
drum wie andere das nutzen könnten, ohne große Einstiegshürden.
Ich habe ein paar Hardwarekomponenten gebaut (mit Mega8, alternativ 
könnte man Mega88 bestücken) und die Software dazu. Zum Debuggen habe 
ich einen alternativen, etwas exotischen Aufbau verwendet, mit einem 
ganz anderen Controller. Hatte ich gerade da. Das ist für Dritte nicht 
gangbar, Debugging auf der "echten" Hardware wäre angesagt. Nun will ich 
mich schlau fragen wie das aussähe.

Kann ein DebugWire-User mal beschreiben, was man da für Möglichkeiten 
hat?

Vielen Dank!

von Robert S. (razer) Benutzerseite


Lesenswert?

> OK, man braucht also AVR-Studio und JTAG-ICE2 / AVR-Dragon. Keine
> anderen Alternativen bekannt?

Ja

> Mit AVR-Studio kann mal auch gcc-Code im Source debuggen?

Ja

mfg Robert


von Fabian B. (fabs)


Lesenswert?

du hast mit dW alle Debugmöglichkeiten:
-breakpoints
-watches
-sram verändern
-eeprom verändern
-step-by-step execution
-cpu flags ändern
-timer flags / einstellungen ändern
usw.

alles was ein Debugger halt kann.

Mit dem JTAG-ICE2 geht das auf allen AVRs, mit dem Dragon nur bei AVRs 
<= 32k Flash-Size.
Da dW von Atmel nicht offen gelegt wurde gibts auch keine Nachbauten wie 
beim JTAG Debugger (ICE 1 clones)

Gruß
Fabian

von Jörg (Gast)


Lesenswert?

Danke Fabian!

Keine guten Nachrichten, aber nun weiß ich immerhin Bescheid. Der 
ATJTAGICE2 ist ja ein ziemlich teures Kästchen, über 300€.
Allerdings hat Google bei Digikey ein Bundle aus dem und einem 
STK500-Board gefunden, für $150 plus Übersee.
Gibt es sonst noch Bezugs-Tipps?

von Fabian B. (fabs)


Lesenswert?

Nope... das ist ne Aktion von Digikey... hier in D war es zeitweilig 
auch für 116€ gelistet, kostet jetzt aber wieder 255€.
Digikey hat aber derzeit schwirigkeiten, wobei diese sich wohl eher auf 
das gebundelte STK500 beziehen... meine Order ist jedenfalls "on hold"

Aber wenn du speziell dW willst, sind das ja eh die kleineren 
Devices...also kannste auch getrost den Dragon nehmen...der kostet so 
60€ rum.

Gruß
Fabian

von Dominik R. (bluebrother)


Lesenswert?

Robert Schilling wrote:
>> OK, man braucht also AVR-Studio und JTAG-ICE2 / AVR-Dragon. Keine
>> anderen Alternativen bekannt?
>
> Ja

es gibt avarice, das kann (teilweise) auch mit dem mk2 / Dragon. Als ich 
das vor ein paar Monaten ausprobiert hab hatte ich allerdings nicht 
allzu viel Erfolg und bin dann wieder aufs AVR Studio / Windows 
umgestiegen.

von whitedog (Gast)


Lesenswert?

Hmm, möglicherweise der falsche thread, aaaber ;) Kurze Frage, ich habe 
einen  USB-Spider programmer, gedacht für ARM's - bekomme ich damit 
einen ATtiny 45 gebrannt? Bin neu bei den AVRs und werd 32bit mathe 
vermissen, aber die avisierte Anwendung sollte möglichst günstig werden 
und ist nicht wohl nicht aufwendig... (asm)
DAAANKE!! ;)

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.