Hi, also ich bräuchte einen Rat: Das Problem ist, ich möchte meinen AVR (mega8, oder 64) im Zielschaltkreis testen. Und da habe ich diese ICEs von Atmel gefunden, leider zu teuer für ein Studenten- budget. Wie genau funktioniert das denn mit debugWire oder JTAG? Muß ich da jedesmal die Software neu flashen, damit das debuggen nach einer Änderung geht, oder ist damit "TrueICEing" möglich, wo der Chip ständig mit dem Emulator kommuniziert und ich gar nicht flashen muß? Gibt es Alternativen zu den Atmel-ICEs? Wie macht ihr das denn? Danke, Christoph
Wenn es nur um die Hardwarefehlersuche geht: Schreib doch ein einfaches Programm, das alle Befehle per RS232 weiterleitetet. So kann man dann auf dem PC den uC in Echtzeit programmieren und auch alle Werte zücklesen.
Es gibt zwei bekannte JTAGICE kompatible Adapter: Evertool und Bootice http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool/ http://avr.openchip.org/bootice/ Ich habe mir ein Evertool gebaut und bin sehr zufrieden damit. Funktioniert mit Avrstudio 4 einwandfrei.
Hi, nein, es geht darum, die Software für den yC (ATMEGA8) im Zielboard auszuprobieren, ohne das Ding durch dauerndes Flashen kaputtzumachen. Also ich möchte, dass mein PC den yC emuliert. Und ob das jetzt so geht, dass alle 40 PINs über ein ICE an den PC angeschlossen werden oder ober der yC das kann, ICE ohne Software drinnen, ist mir egal. Ich weiß eben nur von UBICOM-Devices, dass man da seine Firmware vor jedem Debug immer neu Flashen mußte, und irgendwann war das Teil eben hin. Nicht gut. btw, was haltet ihr davon: http://www.flash.co.uk/acatalog/Flash_Catalogue_STUDIO___Low_Cost_RS232_Mega8_ICE___AVR_UNI_ICE_3.html unten bei Mega8 ICE? Das vergleichbare Teil von Atmel kostet über 1000 EUR. Könnte das Ding dieser Engländer die Alternative sein? Hat damit vielleicht schon mal jemand gearbeitet? Christoph
Und nochmal @Patric: Sorry Du warst schneller als ich :D Ja das schaut gut aus, aber eben meine Frage: Wenn Du einen Bug in der Software hast und merzt ihn aus, mußt Du dann die ganze Sache neu flashen?
Bei der garantierten Flash-Lebensdauer der AVRs brauchst Du aber weit mehr als ein Studentenleben, um das Teil kaputtzuflashen...
Sicher muss man das jedesmal neu flashen. Darüber würd ich mir aber keine Gedanken machen. Selbst wenn du es schaffst das Flash du zu häufiges Beschreiben in die ewigen Jagdgründe zu schicken. Kauf nen neuen Käfer. Bei einem Preis von ca. 10.- für den Mega128 wär mir das relativ wurscht. Alternativ bleibt noch ein Simulator wie im z.B. Studio integriert.
wäre doch mal ein nettes selbstbau projekt, sich eine schnittstelle zum pc zu bauen, mit der man einen uC simulieren kann und schaun kann ob alles richtig angeschlossen ist (vcc,gnd, takt, reset usw)
Ein echter In-circuit-debugger hat einen großen Vorteil: der Programmlauf wird getraced (d.h. in Echtzeit aufgezeichnet). Wenn Du an einen Breakpoint kommst, dann kannst Du die Vorgeschichte genau anschauen. Es gibt aber auch viele Nachteile, Du brauchst teure In-circuit-Sockel (wenn nicht gerade DIL verwendet wird), und der Preis liegt WESENTLICH über den anderen Lösungen. Mit der JTAG-Lösung kann man sehr gut arbeiten, single-step, Breakpoints, go-to-cursor, Register und Variablen anschauen und ändern. Um das Flash musst Du Dir keinerlei Sorgen machen. Allerdings sollte man ein Gerät, dass man für die Entwicklung benutzt hat, nicht unbedingt als Seriengerät verkaufen (es kann sein, dass die Gesamtlebensdauer des Flash-Inhalts durch oftmaliges Beschreiben sinkt). Die Anzahl der Schreibzyklen ist sehr abhängig von der Chiptemperatur, bei 25 Grad ist sie weit höher als der angegebene Worstcase-Wert. Für den mega8 gibt es leider kein JTAG, Alternative ist das neue One-Wire-Debug zusammen mit dem mega88 (kompatibel zum mega8), wenn es den irgendwann mal zu kaufen gibt. Stefan
Ah ok, verstehe. Habe ja im Internet, wie oben schon beschrieben, das hier gefunden: http://www.flash.co.uk/acatalog/Flash_Catalogue_STUDIO___Low_Cost_RS232_Mega8_ICE___AVR_UNI_ICE_3.html Laut Beschreibung eine komplette IDE (sogar C) mit ICE. Also ein richtiger Adapter, der statt des yC in die Zielschaltung kommt. Könntet ihr euch das vielleicht mal anschauen (auch das Datenblatt), und vielleicht beurteilen, ob das was taugen kann zu dem Preis und mit der Platinengröße und mit der IDE? Weil ich sowas noch nie benutzt habe und nur ungern komplett blind kaufe... Und es ist richtig, ich möchte mit dem yC dann einen DMX Dimmer bauen, und da brauche ich einfach die Vorge- schichte aufgezeichnet. Steht nur leider nirgendwo, ob und wie dieses Ding funktioniert... cya, Christoph
Das Teil hat mit einem klassischen ICE sehr wenig zu tun ;-) Da ist dann schon die Anschaffung eines ICE40 oder ICE50 nötig.
Sieht aus wie ein Nachbau des JTAG ICE von Atmel. Das Teil benutzt den JTAG-Port zum Debuggen, funktioniert aber mit mega8 nicht. Es gibt übrigens auch Selbstbau-Projekte, die auf JTAG-Basis funktionieren, die Software "klauen" sich diese Teile allerdings rechtlich etwas zweifelhaft über die Update-Funktion des AVR-Studio. Diese Projekte benutzen einen mega16 oder mega162, der Hardwareaufwand ist also minimal. Diese JTAG-Teile benutzen eine Emulator-Hardware, die in jedem AVRmega direkt im Chip eingebaut ist (ab mega16), deswegen erreichen sie mit sehr wenig Aufwand schon sehr gute Ergebnisse. Die Vorgeschichte brauchst Du übrigens nicht (unbedingt), das ist zwar manchmal hilfreich, wenn man merkwürdige Abstürze zurückverfolgen muss, ich persönlich kann ganz gut darauf verzichten. Was die großen Emulatoren oft noch können sind Daten-Breakpoint, wenn Dein Programm Mist macht und andere Vaeriablen überschreibt, kann das hilfreich sein. Ich benutze übrigens den JTAG-ICE von Atmel zusammen mit dem AVRStudio (4.09) und bin damit sehr zufrieden. Stefan
Oje, jetzt geh ich euch langsam auf die NErven, ich weiß, aber ich glaube, Du hast das falsche Teil angeschaut. Klar, das ganz oben für die paar Pfunde is nix gescheits, ich mein aber das unten; also einfach ganz runter scrollen und nochmal anschauen :D Danke Dir, Christoph
dadurch wird`s auch nicht besser! das teil unten ist kein ice im klassischen sinn. also nix realtime debug, trace-buffer etc.
Ah, jetzt hab ichs :-) Ich befürchte, das Teil hat Nachteile, die auf der Seite nicht genannt werden. Da Ganze funktioniert dem Augenschein nach mit einem mega8 und keiner weiteren Hardware. Das heisst: zum Debuggen müssen Ressourcen des mega8 verwendet werden. Wahrscheinlich wird der UART als Debug-Port verwendet, zusätzlich wird Flash-Speicherplatz benötigt (welcher beim mega8 ja nicht ganz üppig ist. Das sind nur Vermutungen, anders kann ich mir die Funktionsweise der Platine aber nicht erklären. Leider ist die Beschreibung etwas dürftig. Das Teil weiter oben ist meiner Meinung nach die bessere Wahl, falls Du auch mit dem mega16 arbeiten kannst. Da es auf dem internen Debug-Teil der megas aufsetzt, kann es für wenig Geld viel bewirken. Gibt es aber wie gesagt auch als reines Selbstbauprojekt. Wenn Du nicht auf den Cent schauen musst, würde ich Dir das Atmel JTAG ICE mk2 empfehlen, das kann den mega88 (Nachfolger von mega8) debuggen, über nur einen Pin. Und alle anderen avr über JTAG. Kostet aber min. 300. Oder billiger: das erste Teil von deiner Seite oben. Oder noch billiger: Selbstbau. Alle Lösungen sind vom späteren Entwicklungs-Komfort gleichwertig. Lass Dich nicht vom niedrigen Preis der Lösung 1 auf dieser Seite abschrecken, der einzige Nachteil ist, dass der mega8 nicht unterstützt wird, sonst gibt es wie gesagt nur Vorteile. Stefan
Hi, I'm from china, I can read english,Chinese,Kroean and tradition chinese only. Are you talking about ICE of AVR? Is there one that very good ? just as Keil's ISD51? best wishes. Andy Lin.
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.