www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Incircuit Emulator (AVR)?


Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Patric (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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_ST...

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

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Jim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei der garantierten Flash-Lebensdauer der AVRs brauchst Du aber weit
mehr als ein Studentenleben, um das Teil kaputtzuflashen...

Autor: Patric (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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)

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah ok, verstehe. Habe ja im Internet, wie oben schon beschrieben,
das hier gefunden:
http://www.flash.co.uk/acatalog/Flash_Catalogue_ST...

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

Autor: m. merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Teil hat mit einem klassischen ICE sehr wenig zu tun ;-)
Da ist dann schon die Anschaffung eines ICE40 oder ICE50 nötig.

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: m. merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dadurch wird`s auch nicht besser! das teil unten ist kein ice im
klassischen sinn. also nix realtime debug, trace-buffer etc.

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Lin Andy (Firma: Lin) (linqing171)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.