Forum: Mikrocontroller und Digitale Elektronik Frage an die MSP430 Experten.


von Alram L. (alram)


Lesenswert?

Hallo,

Folgendes - vielleicht kann mir jemand helfen:
Ich habe hier eine Platine aus einem defektem Gerät, auf welcher sich 
ein MSP430F169 Prozessor befindet. Der Prozessor selber und ein paar 
andere Komponenten, welche auf der Platine verbaut sind, sind OK und 
bilden zufällig genau eine Schaltung ab, wie ich sie benötigen würde. Um 
die Platine für mich nun nutzbar zu machen, müsste ich eigentlich "nur" 
den MSP430 umprogrammieren. Dazu hätte ich folgende Fragen:

a) auf der Platine sind die Pins 54-57 (TDO/TDI, TDI/TCLK, TMS und TCK) 
des MSP430 und GND/Vcc auf Pads herausgeführt. Soweit mir das Datenblatt 
sagt, reicht das aus, um die Controller via JTAG Interface programmieren 
zu können. Stimmt das?

b) Soweit ich mich eingelesen habe, kann das günstige TI Launchpad als 
JTAG Programmer verwendet werden. Würde also auch für diesen Controller 
funktionieren, oder hab ich da etwas übersehen?

c) muss ich davon ausgehen, dass der MSP430 einen Schutz eingebaut (bzw. 
der Hersteller aktiviert) hat, der den Flash nicht überschreiben lässt? 
Kann man den soweit umgehen, dass ich den aktuellen Flashinhalt einfach 
mit meinem Programm überschreibe oder muss ich einen neuen MSP430 
einlöten?

bei a) und b) bin ich mir eigentlich schon ziemlich sicher, dass das 
funktionieren müsste. Beim Softwareschutz bin ich mir noch komplett 
unsicher - die Datenblätter geben da grad nicht so viel her ... oder ich 
finde es nicht. Vielleicht kann mir kurz jemand erklären, welche 
Flash-Schutz-Optionen es beim MSP430F169 so gibt ...

Danke für eure Rückmeldungen!

vG Alram

von Go MSP (Gast)


Lesenswert?

Alram Lechner schrieb:
> b) Soweit ich mich eingelesen habe, kann das günstige TI Launchpad als
> JTAG Programmer verwendet werden.

http://www.ti.com/lit/an/slaa535a/slaa535a.pdf

von Fritz (Gast)


Lesenswert?

Alram Lechner schrieb:
> c) muss ich davon ausgehen, dass der MSP430 einen Schutz eingebaut (bzw.
> der Hersteller aktiviert) hat, der den Flash nicht überschreiben lässt?

Du darfst jedenfalls nicht einfach von Gegenteil ausgehen. Möglich ist 
das nämlich.

Alram Lechner schrieb:
> Kann man den soweit umgehen, dass ich den aktuellen Flashinhalt einfach
> mit meinem Programm überschreibe

Das ist bei diesem Typ grundsätzlich möglich, erfordert aber das 
Passwort des BSL. Wenn der Hersteller das geändert hat ...

von Alram L. (alram)


Lesenswert?

Go MSP schrieb:
> Alram Lechner schrieb:
>> b) Soweit ich mich eingelesen habe, kann das günstige TI Launchpad als
>> JTAG Programmer verwendet werden.
>
> http://www.ti.com/lit/an/slaa535a/slaa535a.pdf

danke - aber dort wird der UART basierende Bootloader beschrieben. 
Soweit ich das Datenblatt der CPU verstanden habe, benötige ich dazu 
Zugang auf die Port's P1.1 und P2.2 (Pin's 13 und 22). Diesen hab ich 
leider nicht (ausser mit einer gewagten Lötübung). :(

Daher hat sich auch die Sache mit dem BSL Password erledigt. Das scheint 
man ja nur für den BSL zu benötigen.

Soweit ich das nun verstehe: Um via JTAG programmieren zu können, darf 
die JTAG Fuse nicht durchgebrannt worden sein. Wenn sie es wurde, kann 
ich nur die CPU tauschen. Wenn nicht, sollte der Chip ohne Password voll 
verwendbar sein. Ist das Korrekt?

Kann das Launchpad (MSP-EXP430G2) dann auch als JTAG Programmer für den 
MSP430F169 verwendet werden, oder 'nur' als BSL Programmer? Nach allem 
was ich bis jetzt so gelesen habe, scheint die Antwort eher nein zu sein 
... kann das jemand bestätigen?

vG Alram

von Christopher B. (chrimbo) Benutzerseite


Lesenswert?

Hallo, richtig. Wenn die FUSE durch ist, geht kein JTAG mehr. Wenn 
nicht, kannst du ihn munter neu beschreiben. Bin mir beim JTAG aber 
nicht sicher ob man nicht noch RST oder NMI braucht.

Das Launchpad konnte als ich das letzte mal geschaut habe nur SPI by 
Wire oder sowas, jedenfalls kein JTAG.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Alram Lechner schrieb:
> Kann das Launchpad (MSP-EXP430G2) dann auch als JTAG Programmer für den
> MSP430F169 verwendet werden, oder 'nur' als BSL Programmer?

Nein, das Launchpad kann nur SBW.

BSL hingegen unterstützt es nicht, und JTAG in der klassischen 
Vierdrahtvariante auch nicht.

SBW hat mit BSL nichts zu tun, das ist inhaltlich zu JTAG identisch, 
aber über eine Zweidrahtschnittstelle ausgeführt. Darüber ist --genauso 
wie bei JTAG-- neben der Programmierung auch ein Debuggen möglich.

Der steinalte 'F169 aber kennt kein SBW, der braucht Vierdraht-JTAG.

von ... (Gast)


Lesenswert?

Der MSP430F169 ist schon etwas "aelter".
Da muesstest Du nochmal ins DB schauen ob der schon das neuere SBW kann.
Sonst brauchst Du einen richtigen JTAG-Adapter dafuer.
Oder eben BSL. Aber Vorsicht: BSL loescht auch im INFO-Bereich des
Flashs abgelegte Konstanten!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

... schrieb:
> Da muesstest Du nochmal ins DB schauen ob der schon das neuere SBW kann.

Muss er nicht, der 'F169 kann das nicht.

Für Neuentwicklungen ist der 'F169 aber nicht nur deswegen völlig 
uninteressant, sondern auch, weil er massiv überteuert ist.

Pinkompatibel ist hier übrigens der 'F2618.

von Alram L. (alram)


Lesenswert?

Hi,

Danke für die vielen Antworten. Dann kann ich einmal zusammenfassen - ob 
ich das richtig verstanden habe.

Folgende Optionen hätte ich:

a) JTAG: im Datenblatt hab ich eine recht simple Methode gefunden, mit 
welcher es möglich ist, zu testen ob die Fuse durchgebrannt wurde oder 
nicht.
Siehe: http://www.ti.com/lit/ds/symlink/msp430f169.pdf auf Seite 65. Das 
sollte doch mit einem normalen Multimeter messbar sein, oder? Die 
notwendigen Pin's sind ja auf Pads herausgeführt. Wenn JTAG aktiv ist, 
bräuchte ich einen JTAG Programmer für MSP430. Von TI wäre das bspw. der 
MPS-FET (http://www.ti.com/tool/msp-fet) - also rund EUR 100,-. D. h. 
das wäre eine Chance ohne Lötarbeiten durchzukommen ...


b) BSL: Kann Kennwortgeschützt sein - was aber kein Problem sein sollte, 
da ein Reset aller Speicher ohne Kennwort möglich ist und für mich total 
OK wäre. Launchpad kann aber kein BSL. Wenn ich mal etwas google gäbe es 
bei Olimex diesen Programmer: 
https://www.olimex.com/Products/MSP430/BSL/MSP430-BSL/ (kennt den 
jemand?) Alternativ sollte ich doch mit meinen AVR's oder USB/RS232>UART 
Adapter, die ich hier rumliegen habe, auch das Protokoll implementieren 
können (is ja normales UART - oder?)
Jedenfalls müsste ich die beiden Pin's für BSL manuell anlöten (werde 
mir die Platine ansehen, welche Möglichkeiten ich da habe). Und externe 
Peripherie sollte die BSL Kommunikation auch nicht stören - werde ich 
checken, was an den beiden Ports sonst noch angeschlossen ist. 
Zusammengefasst: wesentlich günstiger als JTAG; dafür mehr Programmier- 
und Lötarbeit. Allerdings müsste es so jedenfalls funktionieren - da 
gibts keine durchgebrannte Fuse oder so.

c) neuen Chip einlöten; Preis des Chips ist mir grundsätzlich egal - es 
geht hier nur um eine einzelne Platine, welche ich mit meinem Code zum 
Leben erwecken will. Kurz verglichen: bei Mouser kosten beide gleich 
viel - so um die EUR 10,-. Zum Programmieren kann ich beim F2618 dann 
das Launchpad (SBW) nehmen, oder?

Hab ich das so korrekt aufgefasst, oder hab ich da etwas falsch 
verstanden?

vG Alram

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Alram Lechner schrieb:
> Von TI wäre das bspw. der MPS-FET (http://www.ti.com/tool/msp-fet)

Ja. Davon gibt es zwei Ausführungen, die USB-Variante und eine 
Frickelportvariante. Die kann man sich mit ein paar ICs auch 
selberbasteln; TI hat den Schaltplan veröffentlicht.

Olimex hat auch einen Nachbau, und dann gibt es noch das hier:
http://www.elprotronic.com/flashpro430.html

Der unterstützt alle drei Protokolle.

> Zum Programmieren kann ich beim F2618 dann das Launchpad (SBW) nehmen,
> oder?

Vorausgesetzt, daß Du die SBW-Anschlüsse herausführst, ja.

von Max M. (vcc)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Die kann man sich mit ein paar ICs auch
> selberbasteln; TI hat den Schaltplan veröffentlicht.

Die HW aufzubauen ist machbar, aber was ist mit der Firmware?
Weißt du was darüber?

von Christian R. (supachris)


Lesenswert?

Die Firmware ist vom PC aus updatebar, könnte auch bei einem leeren MSP 
auf dem Debugger funktionieren. Die Firmware des USB-UART ist ebenfalls 
austauschbar, ob das auch bei komplett leerem Debugger geht weiß ich 
nicht. Auslesbar ist die jedenfalls auch, ich hab schon mal mit einem 2. 
und 3. Debugger einen beim Update abgeschmierten gerettet. Also mit dem 
2. den 3. ausgelesen und dann das File auf den kaputten drauf gebrannt.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Max M. schrieb:
> aber was ist mit der Firmware?

Welche Firmware? Der Frickelportadapter (MSP-FET430PIF) hat keine 
Firmware.

Das ist im wesentlichen ein Treiberbaustein à la 74xx244 und eine kleine 
Handvoll passiver Bauelemente.

Anders sieht das beim USB-Adapter aus; von dem übrigens gibt es ein 
komplett neues Hardwaredesign, das TI inklusive des Protokolls 
offengelegt hat.

http://processors.wiki.ti.com/index.php/MSP_Debug_Stack?DCMP=msp430&HQS=mspds

Vermutlich wurde TI der 'F1611 zu teuer, der auf dem klassischen 
Launchpad der G-Reihe verbaut wird - der kostet ja alleine schon mehr 
als das komplette Launchpad.

Die neue Ausführung findet sich auf dem USB-Launchpad für 'F5529 und für 
'FR5969

http://www.ti.com/tool/msp-exp430f5529lp
http://www.ti.com/tool/msp-exp430fr5969

Schaltpläne von allen Varianten --inklusive des Frickelportadapters-- 
finden sich hier:

http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=slau278&fileType=pdf

MSP-FET430PIF auf Seite 157
MSP-FET430UIF auf Seite 159

Und dann gibt es noch einen neuen, komplett anders aufgebauten 
JTAG-Adapter namens MSP-FET, der wird ab Seite 146 beschrieben. Der 
verwendet einen MSP430F6638IPZR und ein A3PN125-VQG100 (was wohl ein 
FPGA ist).

: Bearbeitet durch User
von Max M. (vcc)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Schaltpläne von allen Varianten --inklusive des Frickelportadapters--
> finden sich hier:

Ich meinte die UIF-Version.
Ja - die Schaltpläne habe ich schon gesehen und deswegen die Frage.
Mit diesem Schaltplan könnte man locker die Hardware nachbauen. Aber
der MSP430 auf der S.159 will sicherlich mit Software bespielt werden.
Ist diese Software/Firmware irgendwo verfügbar?
BTW: Der Sinn des Nachbaus dieses Debuggers ist nicht das Thema ;)

von Wolle G. (wolleg)


Angehängte Dateien:

Lesenswert?

evtl. hier mal lesen:
http://www.freeware-archiv.de/shareware/ProgBox-Tools.htm
Prog Box läuft an der seriellen Schnittstelle und kann leicht nachgebaut 
werden.
siehe Anhang

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.