Forum: Mikrocontroller und Digitale Elektronik MSP430F2013 per JTAG programmieren


von Frank (Gast)


Lesenswert?

Hallo,

es gelingt mir nicht den MSP430F2013 per JTAG zu programmieren. Ich 
verwende e z.Zt. das USB-Tool eZ430-F2013 Development Tool. Zur Auswahl 
des Programmiermodes ist das TEST-Pin über pull-up/down-Rs entsprechend 
zu beschalten. Liegt TEST auf High ist JTAG aktiv, bei LOW ist der 
2-WireSBW aktiv. Schalte ich nun den TEST-Pin auf HIGH erfolgt nach 
einem RESET kein Programmstart.

Habe ich etwas übersehen ? Ist bei dem Tool eZ430-F2013 der JTAG 
deaktiviert (FUSE) ? Kann ich mit dem Tool die FUSE prüfen ?
Gibt es für die Programmierung über den 2-wire SBW JTAG eine extra 
Software, die Programmierung über das IAR-Tool ist nur von dessen 
Workbench möglich. Ich würde aber wie bisher in Eclipse arbeiten wollen.

Frank

von Christian R. (supachris)


Lesenswert?

Moment mal...der komische USB-Stick Emulator kann doch gar kein JTAG. 
Der kann doch nur das Spy-Bi-Wire.

Und geht der Stick denn überhaupt mit der mspgcc Software? Der 
msp430-gdbproxy kann SBW, kann man als Kommandozeilenparameter mitgeben. 
Aber ich glaub das geht nur über den richtigen USB Debugger (TIUSB FET).

von Frank (Gast)


Lesenswert?

Richtig. Aber man kann den µC vom USB-Stick trennen. Dann ist nur der µC 
mit einer LED vorhanden. Die JTAG-Pins sind damit verfügbar. Auf der 
µC-LP sind alle Pins an einem Steckverbinder vorhanden.

von Jörg S. (Gast)


Lesenswert?

> Zur Auswahl des Programmiermodes ist das TEST-Pin über pull-up/down-Rs > 
entsprechend zu beschalten.
Bist du sicher das das bei dem nötig ist? Die haben das doch eigentlich 
alles schon intern. D.h. den Test Pin mit dem entsprechenden Pin vom 
JTAG Programmierer vernbinden und du musst dich um nichts mehr kümmern.

von Frank (Gast)


Lesenswert?

laut Beschreibung ist nur über einen HIGH-Pegel an TEST der JTAG 
freigeschaltet. Von einer BEschaltung am JTAG-Programmer ist nichts zu 
lesen.

von Jörg S. (Gast)


Lesenswert?

Der JTAG Programmer (zumindest mein LPT Programmer) hat aber auch einen 
Test Pin, der mit dem Test Pin des µC verbunden werden kann. Pull-Ups 
oder Downs sind dann nicht nötig, der Programmer legt selbstständigen 
den richtigen Pegel am Test-Portpin an.

von Christian R. (supachris)


Lesenswert?

Willst du den F2013 über das eZ430 Tool per JTAG programmieren?

Der Target-Prozessor auf der kleinen Platine lässt sich per JTAG 
programmieren. Aber das eZ430, also der verbleibende Rest an den 
USB-Stecker kann kein JTAG. Der hat nur das SBW Protokoll.

Um den Target-Prozessor per JTAG zu Debuggen brauchst du das richtige TI 
USB FET oder eben das parallele.

Ich hab übrigens den F2013 schon per JTAG über den Parallelport-Adapter 
programmiert. Leider weiß ich nicht mehr aus dem Kopf, wie man den TEST 
beschalten musste für JTAG.

Der Programmer muss jedoch bei den kleinen MSP430 den TEST-Pin 
aktivieren, denn die JTAG Pins sind ja mit normalen I/Os gemultiplext. 
Wenn du die NUR für JTAG nehmen willst, kannst du das fest verdrahten. 
Ansonsten kommt das an TEST des Debuggers.

Im IAR muss man dann einstellen "Release JTAG on Go", das heißt, wenn 
der µC läuft, sind die Pins I/Os, erst wenn man Debuggt, sind sie JTAG.

von Frank (Gast)


Lesenswert?

Danke erst mal an alle. Ich habe jetzt in einem ganz anderen Dokument 
das TEST-Pin am parallelen Programmer gefunden. Geht bei mir aber so 
noch nicht ????
Könnte jemand mal die einfache BEschaltung als Bild o.ä. schicken ?

Danke

Frank

von Christian R. (supachris)


Angehängte Dateien:

Lesenswert?

So, hab mal die Schaltung von damals gesucht. Ich hab den TEST Pin 
direkt auf +3,3V gelegt, und die JTAG Pins nur zum Debuggen genommen.

Hast du nun einen Parallelport-Debugger, oder was?

von Frank (Gast)


Lesenswert?

Der Programmer ist ein Nachbau des PLT-Programmers (z.B. 
Elektronikladen). Funktioniert sehr gut. Der F2013 hat nur 14 Pins. Der 
Test-Pin schaltet die normalen IOs auf JTAG. Bisher sind alle Bemühungen 
ohne Erfolg geblieben.

von Christian R. (supachris)


Lesenswert?

Achso, stimmt, ich hatte ja einen anderen.
Und was passiert, wenn du den TEST per Hardware dauerhaft auf High 
legst? Ohne den Ausgang vom Programmer?

Hast du an den JTAG Anschlüssen noch was anderes dran geschlossen? Poste 
doch mal die Schaltung...

von Uhu U. (uhu)


Lesenswert?

Ich hab mir mal den eZ430-F2013 etwas umgepfriemelt, um ihn als 
Programmieradapter für MSP430-20xx in eigenen Schaltungen zu verwenden:

- Die Gehäuseschale vorsichtig aufhebeln
- Das Headerboard mit dem TSOP-Chip abziehen
- Aus einem alten Platinenstecker ein passendes Steckerchen mit kurzem 
Kabel (4-adrig) zusammenimprovisieren und am anderen Ende aus einem 
Stück Pfostensteckerleiste einen 4-poligen Stecker gebastelt und das 
Gegenstück auf die Platine
- Gehäuse am Ende entsprechend ausfeilen, daß das Kabel gerade durchpaßt
- Zugentlastung aus Isolierband um das Kabel wickeln, Gehäuse wieder 
drum und auf gehts.

Spy-Bi-Wire ist übrigens ein auf 4 Adern gemultiplexter JTAG. Im 
eZ430-F2013 steckt ein weiterer MSP430, der die JTAG-Signale für SBW 
umformatiert/multiplext. Mit einem fest verdrahteten Adapter ist da 
nichts zu holen.

von Frank (Gast)


Angehängte Dateien:

Lesenswert?

hier ist die verwendete Schaltung. TEST ist dabei noch nicht im 
Schaltplan verwendet.

von Christian R. (supachris)


Lesenswert?

Was liegt denn an Sensor_2 und Sensor_3 an? Vielleicht stört das die 
Kommunikation mit dem JTAG-Adapter?

von Frank (Gast)


Lesenswert?

die Signale an SENSOR2 und SENSOR3 sind reine 
open-Collector-Schaltsignale und in diesem Fall ganz sicher inaktiv.

von Jörg S. (Gast)


Lesenswert?

Wie gesagt ist bei meinen MSPs nie eine spezialle Beschaltung am Test 
Pin dran. Der wird immer direkt durchverbunden zum JATG Stecker. Wenn 
der Programmer nich angesteckt ist, sorgt der MSP durch interne 
Widerstände schon selbst dafür das ich die Pins dann als I/Os nutzen 
kann.

von Christian R. (supachris)


Lesenswert?

Wie ist denn nun eigentlich die genaue Fehlerbeschreibung? Was klappt 
denn nich? LIegts nur daran, dass es nicht alleine los läuft, wie du 
ganz am Anfang mal geschrieben hast? Oder kannst du mit dem GDB-Proxy 
/IAR gar nicht erst per JTAG auf den Chip?
Wenn er ohne Debugger nicht los läuft, liegt das an der fehlenden 
Reset-Beschaltung. Die sehe ich in deinem "Schaltplan" auch nicht.

von Frank (Gast)


Lesenswert?

@Christian: Entschuldigung, beim Screenshot fehlt der pull-up am RESET 
(ist aber real vorhanden).

Noch einmal ganz von vorn:

Schalte ich das TEST-Pin an den vorgesehenen Kontakt vom Programmer, 
sollte der LPT-Programmer den JTAG aktivieren und den µC erkennen - tut 
er aber nicht.
Legt man den TEST-Pin permanent auf HIGH (JTAG aktiviert), springt das 
Programm nach einem RESET nicht wieder an. Der 2013 hat nur 14 Pins, der 
JTAG liegt nicht separat, sondern wird von den I7Os mit genutzt und muss 
mit TEST erst aktiviert werden.
Der MSP430F2013 wird z.Zt. per USB-Tool programmiert und debugt. Ich 
könnte damit leben, wenn ich das Teil mit einem extra-Flasher (z.Zt. 
FreeMSPFET unter HTTP://kurt.on.ufanet.ru per LPT) programmiert werden 
könnte - egal ob LPT oder  USB, damit die ganze Sache in mein Eclipse 
eingebunden werden kann.

Die Schaltung am µC ist ja bei 14 Pins nun wirklich nicht kompliziert.

von Christian R. (supachris)


Lesenswert?

Wie sieht denn dein Reset aus, nach dem er nicht anspringt? Mit oder 
ohne den Debugger dann? Ein Pull-Up reicht nicht, der will einen recht 
langen definierten Low-Pegel, und dann eine Flanke nach High. Also eine 
RC-Kombination mit min. 50ms hab ich ermittelt bei meinen Versuchen. Ich 
benutze am MSP430 nur noch richtige Reset-Generatoren wie den TPS3836. 
Selbst  die in den großen Modellen vorhandene Brown-Out Erkennung klappt 
sehr unzuverlässig.

Dein Par-Port-Debugger scheint das TEST nicht richtig zu bedienen.

Installier doch mal die gcc toolchain und starte den gdb-proxy...klappt 
das auch nicht dann?

Und kannst du JTAG benutzen, wenn du TEST manuell auf High ziehst?

Alle LPT Debugger und die TI-USB Debugger (nicht EZ430) laufen mit dem 
gdb, also unter Eclipse dann auch.

von Frank (Gast)


Lesenswert?

ich verwende z.B. das Board des eZ430-F2013. Dort ist KEIN R/C am Reset. 
Der F2013 ist neuer und hat verbessertes Innenleben (RESET, ADU, ... 
VCCmin kleiner, Icc kleiner,...). Ich gehe also davon aus, dass die 
Sache erst einmal bei meiner Anschaltung liegt.
Hat jemand schon einmal den F2013 vom USB-Tool verwendet. Dann hätte man 
zuerst einmal eine gemeinsame Basis. Es könnte doch sein, dass ein 
Fehler (logisch, Hardware oder Verständnis bei mir) vorliegt.

Ein zusätzlicher RESET wäre sehr unschön, bei den größeren Brüdern 
verwende ich generell einen IC. Der F2013 ist speziell wegen seiner 
Performance bzgl. Power (Stromaufnahme, ...) gewählt.

von Christian R. (supachris)


Lesenswert?

Wenn das Programm geflasht ist, und er läuft beim Einschalten der 
Betriebssannung nicht los, liegt das zu 99% am fehleden Reset-Puls. Ich 
hab jetzt nicht im Datenblatt geschaut, aber ich bezweifle, dass der 
sich so sehr vom Rest der MSPs unterscheidet, was das Reset angeht. Ein 
kleiner Kondensator zwischen RST und Masse hilft sicher.

Und wiese antwortest du nicht auf die Fragen? Ich versuch ja dir zu 
helfen...

Dass der F2013 am ez430 läuft, heißt ja nicht, dass er auch stand-alone 
geht. Auf dem USB-Teil wird sicher in irgendeiner Art und Weise eine 
richtige Reset-Flanke generiert. Die ist schon alleine zur Umgehung des 
Bootloaders wichtig. Eine mit der Betriebsspannung ansteigende Spannung 
am RST bringt dem nix.

von Frank (Gast)


Lesenswert?

ich weiß deine Hilfe wohl zu schätzen .

Legt man TEST permanent auf HIGH startet das definitiv Program nicht.
Ich habe gerade gesehen, daß lt. Manual ein 4,7k gegen VCC und 10nF 
gegen GND vorzusehen sind. Auf dem Board (µC) und dem USB-Tool ist kein 
C vorhanden. Bisher gab es aber auch keine Probleme mit RESET.
Hinsichtlich Brown-Out usw. hat der Typ der Reihe F20xx eine Menge mehr 
zu bieten. Außerdem ist doch die Serie neuer als die bisherigen Typen, 
schon in Hinsicht auf die Spy-by-Wire-Interface.

Ich probiere mal am Wochenende einen anderen Programmer und schau mir 
noch einmal das Manual an. Ich melde mich am Montag wieder.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das Platinchen mit dem F2013 drauf, das als Bestandteil des ez430 
geliefert wird, läuft auch von selbst an.

Im Schaltplan (auf Seite 8 von SLAU176A.pdf) ist an Reset ein 
47k-Widerstand gegen VCC geschaltet, mehr nicht.
Das genügt wohl.

von Rufus Τ. F. (rufus) Benutzerseite


Angehängte Dateien:

Lesenswert?

Nachträgliches Bearbeiten erlaubt kein Hinzufügen von Attachments.

von FRank (Gast)


Lesenswert?

tortz Eurer Hilfe bin ich nicht viel weiter gekommen.

Ich habe eine neue Leiterplatte mit einem nagelneuen MSP430F2013 
bestückt. Die Beschaltung habe ich lt. Datenblatt vorgenommen (z.B. 
Demoboard www.olimex.com). RESET ist mit 47k gegen Vcc und 10nF gegen 
GND beschaltet, TEST mit 33k gegen GND. Der JTAG-Mode wird mit HIGH am 
TEST aktiviert, erledigt der Programmer.

Es gelingt mir nicht den MSP nach dem RESET eine Info abzuringen, mit 
der der Programmer z.B.den Typ zuordnet.

Hilfe: Könnte mir jemand ein Beispiellayout incl. JTAG-Interface (IDC14) 
zukommen lassen, das mit einem MSP430F2013 oder auch mit einem 
MSP430F2131 garantiert funktioniert (als Basis für die weitere 
Fehleranalyse).

Ich habe bisher noch keine Typen aus der Reihe verwendet, alle größeren 
Typen der MSP430-Serie mit getrenntem JATG-Interface laufen bei mir 
problemlos.

Frank

von Jörg S. (Gast)


Angehängte Dateien:

Lesenswert?

Ich hätte da ein Interface für den 2012

von Tilo S. (thesurfer)


Lesenswert?

http://focus.ti.com/lit/ug/slau138g/slau138g.pdf auf Seite 26 ist das 
JTAG Interface mit Schaltung

Aber ich verstehe nicht warum es bei dem F2013 unbedingt JTAG sein muss 
wo man doch mit 3 Pins bestens auskommt. Ich benutze eine aehnliche 
Schaltung wie Rufus sie gezeigt hat und kann damit wunderbar In-circuit 
Debuggen oder mit dem Fet-Pro430 Tool flashen. Und dafuer benutze den 
ez430. Wird alles top erkannt vom CCE und den obengenannten Flashtool.

von FRank (Gast)


Lesenswert?

@Jörg S.:

Frage: Wieso ist P2.6 auf Low (XIN) geschaltet?

von Jörg S. (Gast)


Lesenswert?

> Frage: Wieso ist P2.6 auf Low (XIN) geschaltet?
Wegen dem Layout. Ich hab noch ne GND verbindung zur Massefläche unter 
dem Controller benötigt :)

von Uhu U. (uhu)


Lesenswert?

Tilo Samulewitz wrote:
> Aber ich verstehe nicht warum es bei dem F2013 unbedingt JTAG sein muss
> wo man doch mit 3 Pins bestens auskommt.

Verstehe ich auch nicht

> Und dafuer benutze den ez430. Wird alles top erkannt vom CCE und den
> obengenannten Flashtool.

Das einzige, was das Teil nicht kann, ist die Security-Fuse 
durchzubraten - das kann JTAG.

von Tilo S. (thesurfer)


Lesenswert?

>
> Das einzige, was das Teil nicht kann, ist die Security-Fuse
> durchzubraten - das kann JTAG.

stimmt so nicht, mit dem FetPro430 hat er es geschafft, das dumme war 
nur das ich es mit dem orginalen F2013 vom ez430 gemacht hatte :), da 
musst ich dann erstmal nen neuen raufbasteln. Auf jedenfall konnte ich 
nicht mehr lesen und schreiben also muss er es wohl geschafft haben. 
Find ich nicht so schoen das dann gar nichts mehr ueber JTAG laeuft, ist 
beim PIC schoener geloest.

von Uhu U. (uhu)


Lesenswert?

Tilo Samulewitz wrote:
> stimmt so nicht, mit dem FetPro430 hat er es geschafft, das dumme war
> nur das ich es mit dem orginalen F2013 vom ez430 gemacht hatte :), da
> musst ich dann erstmal nen neuen raufbasteln.

Das muß andere Ursachen gehabt haben, denn der ez430 kann die Spannung 
nicht erzeugen, die zum Schießen der Fuse notwendig ist.

von FRank (Gast)


Lesenswert?

zum Verständnis:

JTAG deswegen, da ich z.Zt. nicht weiter komme. Ich habe ein EZ430Board 
verwendet. Nach einer Weile meldet sich die IAR-Workbench mit der 
Meldung, daß das Bios (o.ä.) auf dem Board zu alt wäre und unbedingt zu 
aktualisieren wäre. Gesagt getan, und Ende, keine Antwort mehr. Also ein 
neues organisiert, das Programm aus dem neuen per JTAG ausgelesen, ins 
alte EZ430 programmiert, und immer noch nichts. OK, dann eben mit JTAG, 
aber der sagtr bislang eben auch nichts.
Ich vergleiche mal jetzt noch alle Beschreibungen von Euch und schau mal 
nach den Unterschieden. Ein 2-Draht-Debug sagt mir auch mehr zu, aber 
bislang ist wegen des nicht mehr funktionierenden EZ430-Adapters der Weg 
versperrt

von Christian R. (supachris)


Lesenswert?

Bist du sicher, dass dein Parallel-Port-Programmer das TEST wirklich auf 
High zieht beim Debuggen? Meiner macht das nämlich nicht, ich hab so 
einen Nachbau von Ebay (Steven Wetzel) und der hat nur einen 10-pin 
Anschluss, kein TEST. Meine Schaltung oben funktioniert definitiv mit 
JTAG. Der F1122 müsste eigentlich zumindest im Debug genauso gehn wie 
der 2013.

von FRank (Gast)


Lesenswert?

Hallo Christian,

ich habe selbst den JTAG-Programmer nach dem Vorbild von Olimex gebaut. 
Der Schaltplan stimmt im übrigen mit dem Programmer überein, der bei 
Elektronikladen gekauft wurde und als Muster für den Nachbau diente.
Wenn gewünscht, kann ich ja mal die Schaltung mailen.

von Christian R. (supachris)


Lesenswert?

Miss doch einfach mal, ob der denn wirklich das TEST auf High zieht.

von FRank (Gast)


Lesenswert?

hab ich getan (Oszi), klappt perfekt.

von Christian R. (supachris)


Lesenswert?

Tja, dann weiß ich auch nicht mehr. Über den Selbstbau-Debugger kannst 
du aber andere MSPs debuggen, ja? Geht nur irgendwie mit dem F2013 nich?

von Frank (Gast)


Lesenswert?

Hallo,

ich bin nicht weiter gekommen. Ich habe nach dem Schaltplan von TI für 
den F2013 ein Layout erstellt. Im Anhang ist die Originalschaltung von 
TI, meine Schaltung, das Layout von mir und ein Mitschnitt mit Oszi der 
RESET-Sequenz vom LPT-Programmer (CH1=J8=RESET, CH2=J7=TEST, 
CH4=J12:TCK).

@Christian: Wo habe ich noch einen Fehler ?
Ich habe schon den alten TI-LPT-Programmer aus dem Schrank geholt 
(MSP-FETP430IF 1.4) - ist zwar schon ein paar Jahre alt - sollte aber 
das JTAG voll unterstützen.

Und wie schon vorher gesagt: die bisherigen Typen MSP430F149 und F169 
haben einwandfrei funktioniert !!!!

Frank

von Frank (Gast)


Angehängte Dateien:

Lesenswert?

huups: Anhang vergessen !!!

von Christian R. (supachris)


Lesenswert?

Tja, da weiß ich leider auch nimmer weiter. :-/

von FRank (Gast)


Lesenswert?

Hallo,

ich habe zumindest erst einmal eine Erklärung für eins meiner Probleme 
gefunden.
unter http://www.embeddedrelated.com/groups/msp430/show/30861.php wird 
das Leid anderer User dokumentiert im Umgang mit dem ez430 von TI. Der 
wichtigste Satz mehrerer Nutzer ist, daß nach einem Update der Firmware 
der ez430 im System nicht mehr erkannt wird. Hilfe und Firmwareupdates 
von IAR oder TI kann man vergessen. Ein Nutzer weist darauf hin, daß das 
Firmwareupdate überhaupt nicht für das ez430 verwendet werden darf !!!! 
(steht aber so nirgends !!)

Unter http://www.elprotronic.com/download.html sind mehrere Downloads 
verfügbar. Ob die funktionieren werde ich mal testen.

Bis dahin Obacht !!!

Frank

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.