Hallo, Als Anfänger lese ich manchmal von Lobeshymnen der JTAG-User ueber ihr System. Ist die Programmierung der ATmega's mit JTAG wirklich so komfortabel? Kann man sich ein JTAG-Programmiergerät selbst bauen? Und lohnt sich der Aufwand (hinsichtlich Funktionssicherheit, ersparter Kosten und Programmierkomfort?). Bisher habe ich mich mit einem selbst gebauten Adapter zum Parallelport und BasCom beholfen, aber es ist unzuverlässig, funktioniert nicht auf allen Rechnern und außerdem gibt da undefinierbare Fehlermeldungen. Vielen Dank mfg Günther
Hallo, ich hab den JTAG noch nie benutzt und ich muss sagen, dass ich ihn bis jetzt noch nicht vermisst habe. Zuerst mal zu den Vorteilen: Du hast halt komplette Kontrolle über den Controller. Du kannst das Programm 100% debuggen. (Ich mach das halt etwas eingeschränkt über den UART) Nachteile: du brauchst einige PORT-PINS (ich glaub 6), welche du nicht für andere Anwendungen verwenden kannst. Anleitungen zum selberbauen hab ich noch keine gefunden. Aber da Atmel die Protokolle offen legt, dürfte das kein großes Problem sein. Ich weiß nur nicht ob sich der Aufwand lohnt. Ich programmiere meine Controller alle über ISP und bin damit voll zufrieden. 73 DB1PF, Florian Pfanner
Hi Günther, ich mache das ganze im Moment genauso wie Florian, debuggen über UART. Allerdings wünschte ich mir oftmals ein JTAG-Interface. Man kann beliebige Breakpoints setzen, hat ständig alle Register im Überblick usw. Ist schon eine sehr feine Sache. Natürlich muß man ein paar Pins opfern, aber das ist die Sache wert - zumindest bei "größeren AVRs" mit vielen Pins. Leider viel zu teuer... Und lustigerweise gab's hier tatsächlich mal eine Diskussion über den Selbstbau bzw. Nachbau eines Atmel-JTAG-Interfaces - müßte man mal die Suchfunktion verwenden. Sebastian
hallo günther, ich verwende den avrjtagice und bin damit zufrieden. er hat ein gutes preis/lestungs-verhältnis. einie dinge funktionieren damit nicht so toll wie mit dem ice50 aber im verhältnis zum preis ist das ok. für alle selbst-bauer hier ein interessanter thread aus avrfreaks.net: http://www.avrfreaks.net/phorum/read.php?f=3&i=57981&t=57963#57981 gruss gerhard
Also ich kann mit JTAG gar nichts anfangen. Das Hauptproblem ist nämlich, daß der AVR stehen bleibt, wie in Beton gegossen, sobald man sich auch nur eine einzige Variable ansieht. Inzwischen läuft Dir der UART über, die I2C-Devices mache Timeout usw. usw. Man kann also unmöglich Echtzeitanwendungen damit debuggen. Deshalb ist die einzig praktikable Lösung für mich, man baut an den interessierenden Stellen Variablen ein, die dann ohne Zeitverzug mit den merkwürdigen Ergebnissen gesetzt werden und dann ganz gemächlich und nebenbei in der Mainloop z.B. über die UART an ein simples Terminalprogramm gesendet werden, wo man sie sich dann in aller Ruhe betrachten kann und derweil das AVR-Programm mit unverminderter Speed weiter seinen Gang geht. Peter
hallo günther! das könnte für dich noch interessant sein: http://www.mikrocontroller.net/forum/read-1-25739.html#25739 habe es auch schon durchstudiert und will es eigentlich bauen, mache jedoch noch ein paar kleine veränderungen, damit es mit den l bauteilen (also auch mit 3,3V) läuft! gruss fabian
Also ich finde Debuggen über JTAG klasse. Es hat fast alle Vorteile eines echten Emulators (Hardware-Breakpoints, Breakpoints im Datenbereich) ohne dessen Nachteile (Steckverbindung Emulator->Zielhardware). Wenn DU also wissen willst, wo Dein Programm abgestürzt ist, oder es an einer bestimmten Stelle anhalten willst, um von dort aus Single-Step zu machen oder Daten anzuschauen, dann ist JTAG richtig. Natürlich gibt es auch die Fälle, die Peter beschrieben hat, Programme, die man besser garnicht anhalten sollte. Dann benutze ich selber auch Peters Methode. Je nach Problem kann man ja beide Methoden verwenden. Im Übrigen gibt es für JTAG auch ein Selbstbau-Teil. Leider ist ATMEL da nicht ganz so freigiebig mit der Dokumentation. Stefan
HAllo, Auf der Arbeit habe ich den original JTAGIce. komme damit gut zurecht, das Debuggen geht echt komfortabel. selbstbau schaust du hier: http://avr.openchip.org/bootice/
Hallo Günter, >Kann man sich ein JTAG-Programmiergerät selbst bauen? Ja, meins funktioniert ohne Probleme. Schau mal unter: http://avr.openchip.org/bootice/ http://www.elcom.co.yu/ http://www.olimex.com http://www.olimex.com/dev/avr-jtag.html Gruß Fiffi
Hallo, vielen Dank für die guten Ratschläge. Ich werde mein Glück mit einem Nachbau eines JTAG-Programmers probieren. Ich hoffe, der Schaltplan, den ich nach den Empfehlung von z.B. Fiffi (u.a.) gefunden habe (zur Kontrolle ist er als Anhang beigefügt) wird funktionieren. Und hoffentlich geht niemand für vier Wochen in Urlaub - wegen der dann sicherlich kommenden Fragen. Gruß Günther
Hallo! Wie schon oben erwähnt habe ich auch im Sinn das JTAG nachzubauen. Das angefügte Schema von Günter habe ich auch als Grundlage genommen. Nur funktioniert dies nur bei 5V. Damit es auch z.b. bei 3,3V funzt, sollte man einen AVR der l-Version (atmega163l**) nehmen und dementsprechend auch einen anderen Schnittstellen-IC, z.b. MAX3386. Und schon hat man das JTAG das auch für 3,3V funktioniert! Gruss Fabian
Hallo Fabian, leider ist das hier wie in der ehemaligen Ostzone. Wo kriegt man denn das Zeug? Nach Studium der Internetseiten bzw. Kataloge: Den MAX232A... (mit 200kb/s) gibt es bei Schuricht, den MC33064P5 habe ich nirgends gefunden, vielleicht kann man einen NE555 nehmen und den ATmega gibt es vielleicht bei Reichelt, aber da habe ich noch nicht angerufen. Ich werde es nochmals mit Deinen Bauteilen versuchen, vielleicht gibt es die. Etwas entnervt denke ich über ein Fertiggerät nach, früher gab es mal ein Olimex-JTAG-Gerät für ca 40,- USD, aber der dänische Lieferant hat aufgehört, nun gibt es das in vielleicht 14 Tagen im Elektronikladen Leipzig, aber wer weiß, zu welchem Preis. Gruß Günther zu welchem Preis.
Hallo, Ich hab den JTAG-Adapter aufgebaut vor mir liegen und wollte jetzt erstmal schnell testen ob er funktioniert. Im Moment hab ich noch kein Target und es scheint, als ob das AVR-Studio dann auch nirgends eine Info ausgibt ob wenigstens der JTAG-Adapter da ist. Ist dem so oder hab ich da was uebersehen? Vielleicht kann mir da ja einer der Besitzer eines Adapters weiterhelfen. Jens
Hallo Jens, Wenn ich auf das schwarze AVR-Symbol im AVR-Studio klicke ohne ein Target am JTAG-Adapter zu haben, bekomme ich einen Dialog angezeigt. (befindet sich im Anhang). (Versorgungsspannung am JTAG-Adapter aber vorhanden !) Gruß Fiffi
Danke Fiffi, Spannung ist da. Ich hab den ATMega16 ja auch programmieren koennen. Wenn ich auf den Schaltkreissymbol klicke (das meinst Du doch, oder?) ist er eine Weile beschaeftigt und zeigt dann einen Dialog mit mehreren Seiten an, wobei jedesmal wenn ich eine andere Seite auswaehle wieder eine Gedenkpause faellig ist. Auf der ersten Seite sind z.B. Einstellungen fuers programmieren des Targets. Jens
Hallo Jens, Wenn du mit der Maus etwas länger auf dem Symbol stehen bleibst, erscheint ein ToolTip mit "STK500/AVRISP/JTAGICE". >zeigt dann einen Dialog mit mehreren Seiten an, wobei jedesmal wenn >ich eine andere Seite auswaehle wieder eine Gedenkpause faellig ist. >Auf der ersten Seite sind z.B. Einstellungen fuers programmieren des >Targets. Den Dialog zeigt er mir an, wie du ihn beschrieben hast, wenn ich keinen JTAG-Adapter anschließe. Dann seht auch unten in der Text-Box "Detecting.. FAILED!". Ich habe einen Mega163 verwendet. Gruß Fiffi
Hi Andreas, ich habe Interesse an Deinem JTAG-Adapter! Welchem dieser hier vielen vorgestellten Adapter entspricht er denn? 100% zu dem teuren Original-AVR-JTAG kompatibel? Und vor allem: Kann ich auch 3V-Anwendungen damit debuggen?!? Danke! Sebastian
Hallo, Andreas, ich schließe mich der Aussage von Sebastian an, ich bin auch interessiert. Allerdings bin ich (noch) nicht sensibel, was die Spannung angeht. Ich dachte, programmiert ist programmiert, egal mit welcher Spannung. Und über die Betriebs- spannung könne man jeden Tag neu nachdenken. Oder ist das etwa nicht so? Gruß Günther
Hi Günther, ich lasse meine anderen Bauteile während dem Programmieren ja am AVR hängen. Und die dürfen halt nicht mehr als 3,6V Spannung bekommen... Sebastian
Hallo, der Adapter ist laut Datenblatt (im Anhang) nur fuer 5V-Targets geeignet. Fuer kleinere Spannungen ist wahrscheinlich ein Pegelwandler notwendig. Gruss Andreas
Hallo zusammen @Fabian Hast Du dir wegen den 3,3V auch schon gedanken gemacht wegen der Taktfrequenz. Diese ist bei der l Variant ja nur 4MHz anstatt 8MHz. Wie sieht es dann mit der RS232 aus, kann dann die geforderte Baudrate noch verwendet werden, oder ist diese im AVR Studio einstellbar? Gibt es sonst noch weitere zeitkritische Aufgaben wo unbedingt 8MHz notwendig sind? Ist eine Änderung der Programmes nötig? Wie möchtest du zwischen 5 und 3,3V umschalten? Bzw hast du dir mal überlegt mit einem 3,3V toleranten Treiber die JTAG Signale von 5 auf 3,3V zubringen, jedoch wie sieht es hier mit dem Timing aus. Wie man sieht hab ich mich bisher noch nicht viel mit JTAG beschäftigt. Allerdings wenn diese Fragen geklärt sind würde ich auch diesen Adapter nachbauen. Ich dachte ich stell mal ein paar dumme Fragen, wo sich hier eventuell Probleme ergeben könnten und lasse mich gerne belehren. MfG Stephan
Hallo! @Stephan Also, dass dies mal klargestellt ist: Es war nur eine Idee bzw. ein Vorschlag von mir. Ausprobiert hab ichs noch nicht (Zeitmangel :-(). Aber mit dem 163l geht es sicher nicht da der nur mit max. 4MHz läuft. Nun nimmt man doch einfach einen ATmega16L der läuft mit 8MHz! Also hätten wir das Problem mit der Taktfrequenz mal in den Griff bekommen. Nun zum anderen, wieso einen Treiber wenns auch einfacher geht?!? Und wieso umschalten?!? MAX3386: Betriebsspannung zwischen +3.0 und +5.5V ATmega16L: Betriebsspannung zwischen +2.7 und +5.5V Die Schaltung sollte also mit einer Betriebsspannung zwischen +3.0 bis +5.5V einwandfrei arbeiten, es ist kein Pegelwandler geschweige denn irgendeine Umschaltung nötig. Das Gerät kann also bei 3.3V und 5V Anwendungen genutzt werden! Falls dies jemand nachbaut wäre ich froh wenn er mir die Resultate berichten könnte! Falls jemand sogar einen Print ätzt bzw. Layout und Schema erstellt wäre ich froh, müsste es nicht selbst zeichnen :-) Gruss Fabian
Hallo, ich habe diverse Foren zum AVR-JTAG Schaltungen gesucht aber keine Software für den µC gefunden. Kann jemand sagen wo man die Firmware (am besten als source) für ein AVR-JTAG-Interface her bekommt? Gruß Guido
hallo guido schau dir mal dies an: http://home.sch.bme.hu/~cell/atmel/AVR_JTAG/avr_jtag.zip vielleicht kann auch dies: http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/ ...für dich nützlich sein falls du an meinem JTAG interessiert wärst, könnt ich dir das schema (protel) per mail zuschicken. hast denn du die schaltung schon gemacht? ich habe geplant in ferner zukunft ein neues jtag mit avr-isp (stk500) und alles mit usb (also eigentlich das evertool mit ein paar special features) zu bauen. gruss fab
hallo fabian, danke für die infos. ich hatte vor ein uniboard mit atmega64 als jtag interface umzubauen. für homeautomation habe ich ein kleines layout gemacht, was ich dann nehmen wollte, komme aber nicht so richtig dazu die platinen zu fertigen. das uniboard ist ca. 120mm x 80 mm gross mit lochrasterfeld und hat außer dem prozessor und spannungsregler nichts weiter drauf. ich will es wenigstens noch mit einer optisch isolierten seriellen schnittstelle ausrüsten, hatte aber bisher auch noch keine zeit. gruß guido
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.