Forum: Mikrocontroller und Digitale Elektronik JTAG Schnittstelle


von Udo (Gast)


Lesenswert?

Hallo,

wenn ich einen µC ARM7 über die JTAG Schnittstelle brennen möchte oder 
mir von einem anderen IC DiagonseInfos etc. anschauen möchte, reicht 
dann dieses Kabel dazu aus?
http://elmicro.com/files/olimex/arm-jtag.pdf

versteh ich das richtig, dass ich nur einen Harting-Stecker auf der 
Platine benötige, dieses Kabel und eine OpenSource Software, die auf 
Windows-Ebene läuft?

Wenn ich mir dagegen den Olimex anschaue
http://elmicro.com/files/olimex/msp430-jtag-d.pdf benötige ich hierfür 
ja ne ganze Schaltung...

Udo

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Du vergleichst Äpfel (ARM7) mit Birnen (MSP430). Die beiden µC gehören 
zu unterschiedlichen µC Familien.

µC (ARM7) heisst noch nicht viel. Es gibt solche µC von verschiedenen 
Herstellern. Ihnen ist der "core" (Kern, grob gesagt Befehlssatz) gleich 
und die Periferie u.a. was hinter dem physikalischen JTAG-Anschluss 
steckt ist möglicherweise anders.

Ob deine konkrete Ausführung per JTAG programmierbar ist, kannst du z.B. 
im Datenblatt und in den Dokus der OpenSource Software nachlesen.

von Udo (Gast)


Lesenswert?

bei welchen µC gibt es denn eine schöne Debug-Umgebung?

hätte die wahl zwischen
- Atmel ARM7 (z.B. AT91SAM7SE32)
- Freescale MCORE (MMC2114)
- Phillips LPC (z.B. LPC2290)

Udo

von Udo (Gast)


Lesenswert?

über ein solches interface kann ich auch einen Flash-speicher, der über 
den Datenbus (extern) angeschlossen ist, programmiert werden, oder?

Udo

von Udo (Gast)


Lesenswert?

>Ob deine konkrete Ausführung per JTAG programmierbar ist, kannst du z.B.
>im Datenblatt und in den Dokus der OpenSource Software nachlesen.

wenn im  Datasheet des µC steht, das dieser über JTAG programmierbar 
sein sollte? -> reicht das nicht aus, um sicher gehen zu können, das es 
funktionieren müsste?

Wenn ich die von mir geposteten Links (z.B. den ersten) ansehe, steht, 
dass dieses Kabel mit der LPC-Serie getestet wurde und spielt... und das 
alle anderen ARM7 auch damit funktionieren sollten...

Udo

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Udo wrote:
> über ein solches interface kann ich auch einen Flash-speicher, der über
> den Datenbus (extern) angeschlossen ist, programmiert werden, oder?
>
> Udo

Das hängt von dem konkreten Fall ab.

Günstig ist es, wenn der Flashspeicher selbst ein JTAG Interface hat und 
du ihn in der Kette der JTAG Geräte adressieren kannst und wenn die 
Software dessen Programmierung unterstützt.

Miprä ist es, wenn der Flashspeicher selbst z.B. kein JTAG hat. Dann 
kann man vielleicht ein Programmierprogramm per JTAG in den µC schaffen, 
welches sich dann um die Flashprogrammierung kümmert.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Udo wrote:
>>Ob deine konkrete Ausführung per JTAG programmierbar ist, kannst du z.B.
>>im Datenblatt und in den Dokus der OpenSource Software nachlesen.
>
> wenn im  Datasheet des µC steht, das dieser über JTAG programmierbar
> sein sollte? -> reicht das nicht aus, um sicher gehen zu können, das es
> funktionieren müsste?

Dann muss "nur noch" die passende Software dafür geschrieben sein, die 
so programmieren kann, wie es das Datenblatt vor gibt. Um das 
sicherzustellen, würde ich mir z.B. ansehen, was bisher mit OpenOCD 
programmiert und debuggt werden kann.

> Wenn ich die von mir geposteten Links (z.B. den ersten) ansehe, steht,
> dass dieses Kabel mit der LPC-Serie getestet wurde und spielt... und das
> alle anderen ARM7 auch damit funktionieren sollten...
>
> Udo

Mit "alle anderen" wäre ich da vorsichtig. Das beschreiben des Flash-ROM 
im µC kann von ARM7 zu ARM7 µC unterschiedlich sein (Zugriffsmodus, 
Timing, einleitende Sequenzen). Das Kabel (der Adapter) selbst ist 
"blöd". Das Know-How wie das Flash-ROM des µC zu beschreiben ist, muss 
der Software (OpneOCD...) beigebracht werden. Ideal ist es, wenn da 
bereits erledigt ist, d.h. die passenden Routinen ("Treiber") vorhanden 
sind.


von Udo (Gast)


Lesenswert?

vielen dank für deine antworten..

der Flash-Speicher 
http://www.sst.com/products.xhtml/parallel_flash/39/x16/SST39LF800A
besitzt leider keine eigene JTAG-Schnittstelle -> d.h. ich muss mir 
selbst was schreiben in den internen RAM vom µC...

Udo

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Martin Thomas hat eine schöne Übersicht, wie verschiedene µC-Flashs mit 
OpenOCD programmiert werden können: 
http://gandalf.arubi.uni-kl.de/avr_projects/arm_projects/openocd_intro/index.html

Ansonsten würde ich mit dem/den Wunsch-µC und dem Stichwort OpenOCD mal 
googlen, wie die Sachlage aussieht.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Udo wrote:
> vielen dank für deine antworten..
>
> der Flash-Speicher
> http://www.sst.com/products.xhtml/parallel_flash/39/x16/SST39LF800A
> besitzt leider keine eigene JTAG-Schnittstelle -> d.h. ich muss mir
> selbst was schreiben in den internen RAM vom µC...
>
> Udo

Wahrscheinlich musst du so vorgehen.

Ich hatte in einem ähnlichen Fall Glück. Bei der Kombination Atmel 
AT91R40008-66AI "ARM7TDMI"  mit Atmel AT49BV322A "FLASH-ROM" (1) konnte 
ich auf bestehende Sourcen vom JTAG-O-MAT (2) zurückgreifen.

(1) http://www.mikrocontroller.net/articles/GPS-Platine_mit_Tyco-Modul
(2) http://jtagomat.sourceforge.net/index.html

von Udo (Gast)


Lesenswert?

aber das ist nur möglich, wenn der µC ein internes Flash hat...

Udo

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Nein, das kann man so nicht sagen. Im Beispiel oben hat der 
AT91R40008-66AI "ARM7TDMI" nur RAM, kein ROM. Man muss sein 
Flash-Programmier-Programm-aufm-µC dann so linken, dass es im RAM des µC 
laufen kann (Stichwort RAM_RUN im makefile)

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.