Hallo Community, ich habe ein paar Fragen oder besser Erfahrungswerte von Leuten, die schon länger AVR's unter C programmieren. Wir haben dieses Jahr die Möglichkeit über unsere Hochschule bekommen, eine Entwicklungsumgebung zu kaufen. Es soll eine sinnvolle Investition für die ATMEGA-Serie sein, mit der im Rahmen von Praktika in C auf einem eigenem EVA-Board programmiert werden soll. Gleichzeitig soll man im Rahmen der Fehlersuche per JTAG debuggen. Soweit ich es bisher sehe, kann man mit AVR-Studio nur Assembler programmieren und benötigt für C eine eigene IDE. Wie sieht's mit Debugging mittels JTAG aus? Unterstützt AVR-Studio JTAG - gehen da auch die nachgebauten Kabel oder muss ich einen originalen Adapter kaufen? Gibt es brauchbare C-IDE's, die bereits JTAG-Debugging unterstützen und wie teuer sind die? Was empfehlen denn die alten Hasen unter Euch? Schonmal vielen Dank...
> Soweit ich es bisher sehe, kann man mit AVR-Studio nur Assembler > programmieren Naja, AVR Studio zum Programmieren ist wohl sowieso Geschmackssache. Anyway, die nächste Version von AVR Studio soll dem Vernehmen nach eine WinAVR-Anbindung besitzen... > und benötigt für C eine eigene IDE. Für C benötigt man einen Editor und irgendwas, was den Compiler aufrufen kann. Ob man das in jedem Falle als ,IDE' bezeichnen will, bleibt einem natürlich selbst überlassen... > Wie sieht's mit Debugging mittels JTAG aus? AVR Studio kann latürnlich mit dem Atmel JTAG ICE zusammenarbeiten. Es ist ja gewissermaßen die primäre Applikation dafür (und manche der ICE-Funktionen scheinen sich stark am Bedarf von AVR Studio zu orientieren). > Unterstützt AVR-Studio JTAG - gehen da auch die nachgebauten Kabel > oder muss ich einen originalen Adapter kaufen? ,,Kabel'' ist gut. :-) Die JTAG ICE mkI Clones funktionieren natürlich auch mit AVR Studio, da sie ja die originale Atmel-Firmware benutzen. Allerdings (und nein, ich verdiene nichts dran ;-) würde ich dir zu einem (oder N Stück) JTAG ICE mkII raten, wenn du heutzutage die entsprechenden Plätze neu aufbaust. Nicht nur, dass es parallel zur RS-232 auch via USB reden kann und für die kleineren AVRs debugWire unterstützt (das ich aber selbst noch nicht wirklich benutzt habe), ich habe auch den Eindruck, dass das mkI ICE keine Softwareupgrades mehr für die neueren AVRs erfahren wird. Wenn ich das richtig sehe, dürften die JTAG ICEs ja wohl deine einzige richtige Investition sein. > Gibt es brauchbare C-IDE's, die bereits JTAG-Debugging unterstützen > und wie teuer sind die? Was haben IDEs mit JTAG Debugging zu tun? IARs Compiler hat glaub' ich noch eine eigene Unterstützung für das JTAG ICE, aber da kannst du dir für das Geld eines Arbeitsplatzes ein gebrauchtes Auto kaufen. Sonst ist mir außer AVR Studio nur noch AVaRICE bekannt als Bindeglied zum GDB, allerdings hat das mit dem mkII ICE noch ein paar kleine Macken. > Was empfehlen denn die alten Hasen unter Euch? Generische Antwort: Emacs. :-) (Ja, ich nehme den wirklich dafür, einschließlich Debugger, einschließlich JTAG ICE...)
CrossWorks unterstützt JTAG/debugWIRE. So wie es in der Doku aussieht ist die IDE ziemlich gut, die Demo hab ich noch nicht ausprobiert. Gibt's für Linux und Windows und kostet für Ausbildungszwecke 99 Pfund.
>Was haben IDEs mit JTAG Debugging zu tun? Während des Studium haben wir einen Ausblick Richtung DSP gemacht und dabei das CodeComposer-Studio im Einsatz. Damit konnte man die Quelltexte compilieren und gleicheitig debuggen... > Was empfehlen denn die alten Hasen unter Euch? >>Generische Antwort: Emacs. :-) (Ja, ich nehme den wirklich dafür, >>einschließlich Debugger, einschließlich JTAG ICE...) Bisher habe ich per WinAVR die Quelltexte geschrieben und mit integrierten GCC compiliert. Daher war die Frage wohl etwas "dumm" gestellt. Um den Debugger einzusetzen, muss ich also zusätzlich zu WinAVR noch das AVR-Studio installieren oder gibt's eine extra Software für das JTAG-ICE? Habe gerade noch gesehen, dass zwei JTAG-Interfaces angeboten werden. Neben dem MK2 gibts noch das ICE50. Wie teuer sind die Teile??? Viele Grüße...
Das JTAG mkI hat einen Vorteil: den unschlagbaren Preis, vor allem wenn man sich das Teil selber baut (Evertool Light: Mega16, MAX232, Quarz, Steckleisten/Buchsen, etwas Hühnerfutter). Insofern spricht nichts dagegen, mit dem mkI anzufangen. Zumal wenn es um's Lernen geht und daher nicht die ganze Chip-Palette unterstützt werden muss, sondern man sich auf Mega16/32/128 beschränken kann. Wenn man später beruflich etwas damit anfängt, kann man sich immer noch den mkII zulegen. An der Bedienung ändert sich ja nichts. Bedienung vom JTAG ist unter Windows am einfachsten mit dem AVR-Studio. Das kommt mit WinAVR klar (wenn man das richtige Debug-Format auswählt). Ob man das auch als IDE verwendet, muss jeder für sich entscheiden, sowas ist hochgradig Geschmackssache. Für die Debug-typischen Fixes jedenfalls reicht es.
> Insofern spricht nichts > dagegen, mit dem mkI anzufangen. Das ist nicht wirklich die Variante, wie man sowas in einer Uni angeht. Für einen Bastler ist das OK, aber bei so einem Projekt einer Uni etc. bekommt man i.d.R. genau einmal Geld bewilligt, und das muss dann alles abdecken. > Neben dem MK2 gibts noch das ICE50. Das ist kein JTAG ICE! Würde ich nicht mehr nehmen.
Hallo Jörg, die folgenden Fragen scheinen etwas "flach" klingen, sind aber durchaus ernst gemeint. Meine bisherige vorgeschlagene Lösung an der FH war folgende: - WinAVR zum proggen - PonyProgg zum flashen --> kann ja wahrscheinlich das ICE2 per JTAG (unter AVR-Studio) bestimmt übernehmen?! - Debug mit AVR-Studio und dem jeweiligen JTAG-Interface Das Problem meines Prof.: Er wollte gerne eine Umgebung für alles haben. >>Generische Antwort: Emacs. :-) (Ja, ich nehme den wirklich dafür, >>einschließlich Debugger, einschließlich JTAG ICE...) Ich hatte mich mal mit einer SuSE 6.4 beschäftigt und dachte, dass Emacs "nur" ein Editor ist. Wenn ich dich richtig verstehe, nimmst Du Emacs zum Erstellen des Quellcodes und übersetzt die Sourcen danach per GCC. Zum Debuggen kommt bei dir dann AVR-Studio mit dem JTAG-ICE2 zum Einsatz? Viele Grüße
WinAVR lässt sich ins AVR-Studio integrieren, Programmieren geht damit ebenso (mit AVR-ISP). Damit hast du alles in einer IDE. Mehr Komfort (und besseren Code) bietet Crossworks, was ja in der Edu-Version auch ganz bezahlbar ist.
> - PonyProgg zum flashen > --> kann ja wahrscheinlich das ICE2 per JTAG (unter AVR-Studio) > bestimmt übernehmen?! Ja. avrdude 5.0 kann es auch, aber solange noch keiner die libusb unter Windows zum Laufen gebracht hat, leider nur via RS-232. (Es gibt eine libusb für Windows, aber es ist mir nicht wirklich gelungen, auf einer Kiste auf Arbeit das in Sack und Tüten zu bekommen. Ich bin sicher einfach zu blöd, ein Stück Windows-Software zu installieren.) > Ich hatte mich mal mit einer SuSE 6.4 beschäftigt und dachte, dass > Emacs "nur" ein Editor ist. Im Prinzip ja. Aber was ist eine IDE denn sonst als ein Editor mit einer Anbindung zu paar externen Programmen? Die Compiler existieren bei allen mir bekannten IDEs als separate Kommandozeilenversionen. OK, den Debugger kann man vielleicht mehr intrigieren, als das ein GDB mit dem Emacs ist, aber ich mag den Komfort von Emacs über alles. Gerade Features wie die Ausgabe beliebiger C-Ausdrücke vermisse ich bei anderen Debuggern heftig. Lokale Variable aus einem übergeorndeten Stack-Frame? In AVR-Studio hast du da wohl verloren. Den void * cookie, den die Funktion eben übergeben bekommen hat, in einen struct foobar_t * casten, um anschließend die darauf basierende verkettete Liste stückweise entlangzuwandern? Aua. > Wenn ich dich richtig verstehe, nimmst Du Emacs zum Erstellen des > Quellcodes und übersetzt die Sourcen danach per GCC. Bei mir liegt auf Taste F5 einfach ein "make -k". > Zum Debuggen kommt bei dir dann AVR-Studio mit dem JTAG-ICE2 zum > Einsatz? Würde auf meinen FreeBSDs (und Linux auf Arbeit) nicht laufen. ;-) Selbst wenn es laufen würde: s.o., ich habe immer mächtig Probleme, in dieser Art IDEs überhaupt einen Ansatz zu finden. Welches der kleinen Kindergartenbilder muss ich jetzt eigentlich drücken? Ich vermeide das, wo's nur geht.
Vielen Dank für die Hinweise...zum Abschluß möchte ich euch noch gerne schreiben, was schlußendlich herausgegommen ist. Vom Atmel- Distributor MSC/GE werden wir ein Startup-Kit (STK500, STK501, JTAGICE-MKII und IAR-Compiler (4KB-Beschränkung)) für die Entwicklung von Praktikumsaufgaben und Studienarbeiten und für unsere eigenen Boards noch 5 JTAGICE-MKII holen. Da die Atmega auch per SPI geflasht werden können, reichen die JTAGs zum Debuggen erstmal aus. Viele Grüße
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.