Was für Tooling brauche ich für DebugWire?

Gast #549729
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
Gast #549756
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.)
Gast #549936
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.
#549948
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
Gast #549973
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?
Gast #549989
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
#550034
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...

...
Gast #550087
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?
#550099
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.
Gast #550132
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!
#550148
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
Gast #551023
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?
#551028
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
Gast #1104522
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!! ;)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren