Forum: Mikrocontroller und Digitale Elektronik JTAG


von Olaf (Gast)


Lesenswert?

Morgen,

ich hab schön öfter im Netz gelesen, dass bei einer JTAG Verbindung zum 
Computer für Programmier-etc-zwecke nicht nur die vier Standardleitungen 
(TMS etc.) herausgeführt werden sondern auch ein RST (zum resetten des 
µC), TEST (um µC JTAG freizuschalten), VCC des JTAG-Adapters und VCC der 
Platine sowie eine GND...

kann damit jede Software-Lösung zum Programmieren des µC umgehen? Wenn 
ja, bedeutet das ja im Umkehrschluss, dass man in der Software selbst 
die Pinbelegung manipulieren kann von dem JTAG-Stecker - oder sind diese 
optionalen Sachen wie ein TEST-Pin-Anschluss etc. bei jeder Software 
vorhanden nur nicht bei jedem µC?

Olaf

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Olaf wrote:
> Morgen,
>
> ich hab schön öfter im Netz gelesen, dass bei einer JTAG Verbindung zum
> Computer für Programmier-etc-zwecke nicht nur die vier Standardleitungen
> (TMS etc.) herausgeführt werden sondern auch ein RST (zum resetten des
> µC), TEST (um µC JTAG freizuschalten), VCC des JTAG-Adapters und VCC der
> Platine sowie eine GND...

Freischalten kann man das nicht nennen. Entweder ist JTAG zugänglich 
oder nicht. Man kann u.U. ein Signal gebrauchen, um gezielt den 
Controllerteil, der hinter JTAG steckt (z.B. ICE) zu resetten.

> kann damit jede Software-Lösung zum Programmieren des µC umgehen?

"Jede" wahrscheinlich nicht.

> Wenn
> ja, bedeutet das ja im Umkehrschluss, dass man in der Software selbst
> die Pinbelegung manipulieren kann von dem JTAG-Stecker - oder sind diese
> optionalen Sachen wie ein TEST-Pin-Anschluss etc. bei jeder Software
> vorhanden nur nicht bei jedem µC?
>
> Olaf

Ich kenne zumindest µCs bei denen TEST nicht vorhanden ist.

von Dominic R. (dominic)


Lesenswert?

Unbedingt benötigt werden:
- TCK, TMS, TDI, TDO, GND

Optional sind:
- TRST ((t)est reset), SRST ((s)ystem reset, also der Reset Eingang des 
uCs).

Komplett Target-spezifisch ist "TEST", wie es z.B. die AT91SAM7 (iirc) 
verwenden. Das würde ich aber eher nicht an den JTAG Port führen, 
sondern via DIP-Switch/Jumper konfigurierbar machenl.

Viele JTAG Interfaces benötigten zumindest Vcc vom Target, andere können 
auch die USB Versorgung des Hosts oder eine andere eigene 
Spannungsquelle verwenden. Manche Interfaces benötigen Vref als 
Referenz-Spannung, um die JTAG Pins mit der Spannung des Targets zu 
betreiben (automatische Spannungsanpassung).

Die Softwarelösung muss den uC bzw den uC und ein angeschlossenes 
externes Flash unterstützen - eventuell auch generische Unterstützung 
für boundary-scan, dann ist aber ein BSDL File für den uC nötig.
Wenn es sich beim Target z.B. um einen ARM7/9 handelt kann entsprechende 
Software den uC auf jeden Fall debuggen, zum Flashen muss aber das Flash 
(intern oder extern) unterstützt werden.

Gruß,

Dominic

von Bernd (Gast)


Lesenswert?

>Die Softwarelösung muss den uC bzw den uC und ein angeschlossenes
>externes Flash unterstützen - eventuell auch generische Unterstützung
>für boundary-scan

unterstützt die YAGARTO Toolchain sowas? Der von mir verwendete µC wird 
in OpenOCD unterstützt (AT9SAM7SE-Serie). Was ist genau der Vorteil von 
einer Boundary-Scan-Option (standardisiertes Verfahren zum Testen 
digitaler und analoger Bausteine) - bzw. andersherum gefragt, welche 
Optionen Möglichkeiten fehlen mir, wenn ich diese Option nicht verwenden 
kann?

Bernd

von Dominic R. (dominic)


Lesenswert?

Der OpenOCD unterstützt das Debug Interface des ARM7, allerdings kein 
Boundary-Scan.

Boundary Scan ist insofern interessant, als dass eine Software (bzw. ein 
Standalone Gerät), die via Boundary Scan ein Flash programmieren kann, 
die mit jedem Target kann, sofern der uC ein Boundary-Scan Interface 
bietet und der User Zugang zu dem BSDL File (das die Boundary-Scan-Chain 
beschreibt) hat, unabhängig von der Architektur des Targets (FPGA, 
ARM7/9, XScale, MIPS, ...). Dazu kommen natürlich die Funktionen, für 
die JTAG ursprünglich entwickelt wurde, also PCB Test etc., allerdings 
ist Soft- und Hardware dafür extrem teuer.

Wenn über die Debug Funktionen eines Target das Flash programmiert wird 
muss Unterstützung für die jeweilige Architektur implementiert sein.

Gruß,

Dominic

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.