Für ein Projekt suche ich einen µC den ich in der Schaltung( Motorsteuerung) programmieren und debuggen kann. Mir steht ein JTAGICE mk2 zur Verfügung, in der Deviceliste finde ich nun unter Interface JTAG oder debugWIRE . Wo ist da der Unterschied und was unkomplizierter? Vielen Dank im Vorraus.
Der Unterschied ist, dass DebugWire nur bei den kleinen AVRs mit wenig I/O-Pins anstelle von JTAG implementiert ist, da es nur einen I/O-Pin benötigt, JTAG aber 4 davon. JTAG ist aber eben deutlich leistungsfähiger, macht aber nur Sinn bei µCs, bei denen man auf 4 I/Os verzichten kann. Dementsprechend wirst Du das Interface anhand des von Dir verwendeten Controllers auswählen müssen, eben je nachdem, welches er unterstützt.
>JTAG ist aber eben deutlich leistungsfähiger Inwiefern? Was kann JTAG, was du mit DebugWire nicht kannst?
Noch habe ich die freie Wahl des µC, da ich aber Neuling bin auf diesem Gebiet, sollte es möglichst einfach sein. Kann ich dann über ISP debuggen?
MNR wrote: >>JTAG ist aber eben deutlich leistungsfähiger > > Inwiefern? Was kann JTAG, was du mit DebugWire nicht kannst? JTAG ist schneller... Johannes Selk wrote: > Noch habe ich die freie Wahl des µC, da ich aber Neuling bin auf diesem > Gebiet, sollte es möglichst einfach sein. Kann ich dann über ISP > debuggen? Über ISP kann man nicht debuggen, nur programmieren.
>JTAG ist schneller...
Dann solltest du das auch schreiben. Deutlich leistungsfähiger klingt
nach mehr Funktionalität, was definitiv nicht der Fall ist.
Oh, da ist aber einer wirklich pingelig. Ein großes SORRY, dass ich mich SO unklar ausgedrückt habe.
Wenn ich also beim Mega 16 die Anschlüsse Vcc, GND, TDI, TDO, TMS und TCK auf einen Pfostenstecker lege kann ich die Schaltung später mit dem JTAGICE mk2 debuggen. Oder muss ich noch was bedenken.
wenn an den Pins sonst nix dran ist, musste nur sicher sein, dass die JTAGEN Fuse gesetzt ist. Gruß Fabian
Schau doch einfach mal, wie es Andere machen: http://www.pollin.de/shop/downloads/D810038B.PDF Dieses Board unterstützt (auch) Mega32 und hat einen JTAG-Anschluss. Ein Schaltplan ist dabei. ...
also gibt es wirklich nur den Geschwindigkeitsunterschied? ich meine mal irgendwo aufgeschnappt zu haben, dass DebugWIRE im Gegensatz zu JTAG nur "Befehle" durchführen kann ich auch die CPU kann. was auch immer es sonst noch geben soll...
>also gibt es wirklich nur den Geschwindigkeitsunterschied? ich meine mal >irgendwo aufgeschnappt zu haben, dass DebugWIRE im Gegensatz zu JTAG nur >"Befehle" durchführen kann ich auch die CPU kann. was auch immer es >sonst noch geben soll... jedes setzen/löschen von breakpoints mit debugwire bringt ein neuschreiben des flashs mit sich. die entwicklung umfangreicherer projekte dürfte damit schwer fallen, ohne gefahr zulaufen, den µc "totzudebuggen". ein ernsthaftes debuggen mit debugwire in fertig aufgebauter/gelöteter zielhardware seh ich als absolutes nogo.
Hi >jedes setzen/löschen von breakpoints mit debugwire bringt ein >neuschreiben des flashs mit sich. die entwicklung umfangreicherer >projekte dürfte damit schwer fallen, ohne gefahr zulaufen, den µc >"totzudebuggen". ein ernsthaftes debuggen mit debugwire in fertig >aufgebauter/gelöteter zielhardware seh ich als absolutes nogo. Bis aus die ATMega48...328 haben eigentlich nur ATTinys mit relativ kleinen Flashspeicher Debugwire. Um mit Debuggen die garantierten 10000 Flashzyklen vollzubekommen muss man schon eine komplette Niete in Punkto Programmieren sein. MfG Spess
>Um mit Debuggen die garantierten 10000 >Flashzyklen vollzubekommen muss man schon eine komplette Niete in Punkto >Programmieren sein. Ich habs schon geschafft ;) Eine RGB-LED-Matrix mit Animationen versorgt und alle paar Zeilen geflasht. Nach ca. 4 Monaten basteln musste ein zweiter M644 rein :P
Nils S. schrieb: > Ich habs schon geschafft ;) Eine RGB-LED-Matrix mit Animationen versorgt > und alle paar Zeilen geflasht. Nach ca. 4 Monaten basteln musste ein > zweiter M644 rein :P Ich frage mich ganz entsetzt, wie kann man dafür 4 Monate und 10000 Programmierzyklen brauchen. Du hast doch nicht etwa jeden einzelnen Schritt hart kodiert? Man schreib einmal das Ansteuerprogramm und gut is. Die Animation selber ist dann nur ne Tabelle mit den Daten. Die würde ich sogar in nen externen seriellen EEPROM/Flash/SD-Card ablegen, dann kann man sie schnell wechseln. Peter
MNR schrieb: >>JTAG ist schneller... > > Dann solltest du das auch schreiben. Deutlich leistungsfähiger klingt > nach mehr Funktionalität, was definitiv nicht der Fall ist. Doch:
1 | Note that the debugWire environment is further limited, compared to JTAG. It does not offer hardware breakpoints, so |
2 | all breakpoints have to be implemented as software breakpoints by rewriting flash pages using BREAK instructions. |
3 | (Software breakpoints are currently not implemented by avarice.) Some memory spaces (fuse and lock bits) are not |
4 | accessible through the debugWire protocol. |
(man avarice)
Peter Dannegger schrieb: > Nils S. schrieb: >> Ich habs schon geschafft ;) Eine RGB-LED-Matrix mit Animationen versorgt >> und alle paar Zeilen geflasht. Nach ca. 4 Monaten basteln musste ein >> zweiter M644 rein :P > Ich frage mich ganz entsetzt, wie kann man dafür 4 Monate und 10000 > Programmierzyklen brauchen. > Du hast doch nicht etwa jeden einzelnen Schritt hart kodiert? Klar, sonst wäre der nie auf 83-mal Flashen am Tag gekommen. ;-) Mal im Ernst, vielleicht hat er Pech mit dem µC gehabt und die 10.000 nie erreicht? Vielleicht war der µC auch schon ordentlich von Vorgänger-Projekten vorbelastet?
>Ich frage mich ganz entsetzt, wie kann man dafür 4 Monate und 10000 >Programmierzyklen brauchen. >Du hast doch nicht etwa jeden einzelnen Schritt hart kodiert? >Man schreib einmal das Ansteuerprogramm und gut is. >Die Animation selber ist dann nur ne Tabelle mit den Daten. Die würde >ich sogar in nen externen seriellen EEPROM/Flash/SD-Card ablegen, dann >kann man sie schnell wechseln. Mittlerweile ist mir vieles klarer als am Anfang ;) Ich war froh nach zwei Wochen die LEDs am Laufen zu haben und die Animationen bestanden aus unzähligen Arrays und _delay_ms :), von UART, EEPs und sonstigen kaum Ahnung - Keine Hardware. So ziemlich jede Änderung wollte überwacht sein und ob das nun 10000, 8683 oder 11033 kann ich wirklich nicht mit bestimmtheit sagen...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.