Forum: Mikrocontroller und Digitale Elektronik Such uC mit JTAG und USB to Serial


von Nico Hood (Gast)


Lesenswert?

Hi!
kann mir jemand einen uC mit folgenden Funktionen vorschlagen? Von mir 
aus kann es closed Soft/Hardware sein, es sollte möglichst mit jedem 
System kompatibel bestmöglich sein(avrstudio zb). Ich will damit einen 
atmega2560 ansteuern.

Funktionen (wichtige zu erst)
USB to Serial funktion
JTAG debug
RTS line beim Serial um es als FTDI zu nutzen
Debug Wire

Wirklich nicht wichtig ab hier:
ISP programming
I2C zu usb
was der chip sonst noch so kann

Kennt da jemand gute chips, die man relativ simple und kostengünstig 
verbauen kann? Ich dachte an EDBG/mEDBG, aber irgendwie finde ich dazu 
nicht so viel, vllt ist der nichtmal veröffentlich?

An die ausem Chat: Ja ich treibe jetzt hier mein Unwesen (devil) :D

von Lothar (Gast)


Lesenswert?

FTDI selbst bringt grade den ft51 heraus, im Prinzip ein 8051 mit 
USB-seriell

von Nico Hood (Gast)


Lesenswert?

Oh ich glaube eine sache war nicht ganz klar:
Er sollte als JTAG debugger nutzbar sein, also andere geräte debuggen 
und nicht selbst debugbar sein. Und irgendwie kann ich diese Funktion da 
nicht finden...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nico Hood schrieb:
> Und irgendwie kann ich diese Funktion da
> nicht finden...

Das ist kein Wunder, da es keine generische JTAG-Debug-Fähigkeit gibt.

Zwar ist die JTAG-Schnittstelle selbst auf unterstem Hardwarelevel 
standardisiert, aber alles, was darüberläuft, ist vom jeweiligen 
Controller abhängig, und das wiederum von der das ganze (auf dem PC) 
ansteuernden Software.

Die wiederum erwartet einen jeweils "zu ihr" passenden JTAG-Adapter.

AVR-Studio braucht andere JTAG-Adapter als Keil-für-ARM oder 
Keil-für-MCS-51 oder IAR-für-MSP430.

Deswegen kann man einen AVR nicht mit einem ARM-JTAG-Adapter debuggen, 
und auch nicht mit einem MSP430-JTAG-Adapter.

Du müsstest auf Deinem µC das hostseitige Verhalten der verschiedenen 
JTAG-Adapter nachbilden, so daß sich das Ding wahlweise wie ein 
ARM-JTAG-Adapter (OpenOCD) oder ein AVR-JTAG-Adapter oder was auch immer 
verhält ...

Da diese Schnittstellen aber nur bei wenigen JTAG-Adaptern überhaupt 
dokumentiert sind, ist das ein fruchtloses Unterfangen.

Fazit: Schaff Dir für die Dich interessierenden µCs ein von der 
jeweiligen Entwicklungssoftware unterstütztes JTAG- o.ä. -Interface an.

von Nico Hood (Gast)


Lesenswert?

Gibt es keine fertigen Chips, die den atmega2560 (AVR) unterstützen? 
EDBG sollte das doch können, nur ist das wohl noch nicht draußen.

Ich habe mich mal so durchs netz geklickt und diverse Do it yourself 
projecte gefunden, jedoch sind diese sehr alt, unübersichtlich und gehen 
bei mir nicht. Ich bin neu in dem gebiet, merkt man ja. Wenn ich nur 
eine PCB mit einem 2560 designe, dachte ich man könnte gleich jtag mit 
einbauen. Was extrem cool wäre, ist wenn man den 32u4, der als usb to 
isp und usb to serial (und anderes) diehnt auch als jtag debugger nehmen 
könnte, dann bräuchte ich gar keinen zweiten usb chip/externe hardware 
fürs debuggen.

Kann man mir vielleicht nochmal erklären, nach was ich jetzt genau 
suchen muss um einen 2560 zu debuggen? Also microcontroller seitig 
gesehen. Bzw wenn ich dann einen chip habe, der den 2560 debuggen kann, 
ist der dann mit jeder software compatibel oder braucht atmel studio 
seine eigenen geräte dafür? Ich hab das nicht ganz verstanden inwieweit 
pc und debugger zusammenpassen müssen. Das debugger und die ziel MCU 
passen müssen ist mir klar. Einen ARM will ich auch garnicht debuggen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nico Hood schrieb:
> Gibt es keine fertigen Chips, die den atmega2560 (AVR) unterstützen?

Nein.

Wie es übrigens auch keine anderen fertigen Chips gibt, die irgendwelche 
JTAG-Interfaces zur Programmieren anderer Controller enthalten.

Du brauchst ein AVR-JTAG-Interface, das kannst Du als Komplettgerät von 
Atmel kaufen, oder einen Nachbau davon bei anderen Quellen.

http://www.atmel.com/tools/avrjtagicemkii.aspx

: Bearbeitet durch User
von Uwe (de0508)


Lesenswert?

Hallo Nico,

ich frage mal anders herum: warum benötigst Du einen JTAG Debugger?

Ich habe nie einen verwendet, sondern nutze den Usart (Hardware- oder 
auch Software Uart mit FiFo) für mögliche Debugausgabe auf einen 
USB-Serial-TTL-Wandler.

Meistens ein FT232RL (/dev/ttyUSBx) oder ein MCP2200 (/dev/ttyACMx).

Meine Programm, bzw. mein Programmaufbau ist stark gekapselt und in 
Module, Klassen und Methoden aufgeteilt.
So lassen sich einfach Programmteile (Module) wieder verwenden, wenn die 
getestet sind.

: Bearbeitet durch User
von Nico Hood (Gast)


Lesenswert?

Gut. Letzte Option wären als do it yourself firmwares, wie ich das sehe.
Problematisch ist, dass es ein paar sehr alte Projecte gibt. Kann mir 
jemand eine einschätzung über die kompatibilität dieser DIY projecte 
geben? Ich habe keine Lust, dass der user das ding dann nicht in atmel 
studio benutzen kann oder man irgendwelche verbotenen treiber 
installieren muss. Wobei das mit den Treiber weniger das problem wäre, 
sofern es 1A läuft.

Kennt jemand vielleicht eins Project, das für den 2560 in frage kommmt. 
Bevor ich jetzt alles durchsuche und das generell alles mehr oder 
weniger nur in einem sehr engen bereich kompatibel ist. Bestenfalls wäre 
eine implementierung mit LUFA.

BZW: Wie sieht es mit debugwire aus?

@Uwe: Ich wollte mal einen Gamecube controller ansteuern. Und da ist das 
debuggen bei 1 und 3uS pulsen sehr schwer, wenn man "nur" einen 
logicanalyzer und 16mhz 2560 hat. Oder ich habe diverse interrupt 
routinen, wo Serial immer probleme machte. Klar geht es, nur jtag wäre 
nen nettes addon. Ich versuche nur kosten/aufwand einer jtag 
implementierung abzuschätzen. Ansonsten lass ich es eben weg.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Uwe S. schrieb:
> warum benötigst Du einen JTAG Debugger?

Wer schon mal mit Breakpoints gearbeitet hat, möchte das nicht missen.

von Uwe (de0508)


Lesenswert?

Hallo Rufus,

Danke für die Erläuterung.

Ja Breakpoints kenne ich aus den Zeiten der MCS-48 und 8051 
Programmierung.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ich habe in den vergangenen 20+ Jahren schon viel Software gesehen, die 
aus vermeintlich getesteten und schon seit Ewigkeiten perfekt 
funktionierenden Modulen bestand und in der trotzdem irgendwelche 
unerwarteteten Nebenwirkungen auftraten ... da war ein Debugger sehr 
hilfreich.

von spess53 (Gast)


Lesenswert?

Hi

>BZW: Wie sieht es mit debugwire aus?

Der ATMega2560 hat kein DW.

MfG Spess

von Nico Hood (Gast)


Lesenswert?

oh. naja gut, das wäre dann nen fall für den 328. DW ist closed 
Software, gibt es dazu keine speziellen chips? ich würde eine 2560 und 
eine 328 version machen, wobei ich mich erstmal auf jtag konzentriert 
habe, da es besser ist. wenn schon, denn schon so ungefähr..

Was mich aber hauptsächlich interessiert:
Kann mir jemand eine einschätzung über die kompatibilität dieser DIY 
JTAG projecte geben? Siehe post oben.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nico Hood schrieb:
> DW ist closed
> Software, gibt es dazu keine speziellen chips?

Nein.

Nico Hood schrieb:
> Kann mir jemand eine einschätzung über die kompatibilität dieser DIY
> JTAG projecte geben? Siehe post oben.

Was magst Du meinen?

von uwe (Gast)


Lesenswert?


von uwe (Gast)


Lesenswert?

Naja und dann brauchst du noch die BSDL files von Atmel
http://www.atmel.com/tools/avrbsdlfiles.aspx
Den rest muß man dann selber machen.

von J. T. (chaoskind)


Lesenswert?

Google nach: AVR Dragon....
JTAG ICE 3....

gibs auch in nicht von Atmel, aber dennoch spezifisch für eine ganze 
Bandbreite von Atmelchips, meist für nahezu alle(zumindest µC).

Das sind solche "Chips" die per JTAG mit deinen 2560 reden können. 
Vorrausgesetzt, du hast auf deiner PCB die JTAG-PINS deines 2560 
herausgeführt. Und deinen "Chip" damit verbunden.

Diese "Chips" haben übrigens auch ein Gehäuse drumherum (naja der Dragon 
nicht) und und solch "Stöpsel" an die man Kabel anschließen kann, welche 
man dann auf die (hoffentlich) herausgeführten JTAG-Pins vom 2560 oder 
32 usw stecken kann. Evtl auch für 42 verfügbar ;-)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Rufus Τ. Firefly schrieb:
> Wie es übrigens auch keine anderen fertigen Chips gibt, die irgendwelche
> JTAG-Interfaces zur Programmieren anderer Controller enthalten.

Doch, schon.  Die FTDI-Chips, die die MPSSE enthalten, kann man
problemlos zum Debuggen von ARMs benutzen.

Erstens ist die MPSSE ganz offensichtlich stark mit Blickwinkel auf
JTAG gezimmert worden (wenngleich sie bpsw. auch als AVR-ISP taugt),
und zweiten ist (im Gegensatz zu AVR oder MSP430) die
JTAG-Debug-Funktionalität bei ARM als Protokoll offen gelegt.

Da aber als Ziel ein ATmega2560 dienen soll, dessen Debug-Schnittstelle
eben nicht offen ist, kann man das dort nicht benutzen.  (Es gab mal
ein paar Reegineering-Versuche für AVR-JTAG auf der JTAG-Ebene, aber
die sind meines Wissens nie auch nur halbwegs komplett geworden.)

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
Noch kein Account? Hier anmelden.