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
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).
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.
> 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.
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.
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.
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
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?
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.
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...
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.
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.
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.
@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.
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.
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.
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.
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.
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.
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
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.
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.
>> 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.
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.
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
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.
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.
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
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