Forum: Mikrocontroller und Digitale Elektronik MS430 BSL Leitungen auf GND gezogen


von H4ck3r :-) (Gast)


Lesenswert?

Angenehmes Wochenende wünsche ich - habe hier ein Problem bislang ohne 
Lösung: da ich keinen JTAG Adapter für MSP habe, versuche ich über den 
integrierten seriellen Bootloader (boot strap loader, BSL) einen F449 zu 
flashen. Das Problem ist, dass beide Leitungen vom Target nahe GND 
gezogen werden (aber keine Masseverbindung auf der Hardware zu finden 
ist, d.h. 13 MOhm zu GND), und der CP2102 nicht dagegen ankommt (Noname 
mit Status-LEDs an RX&TX, die bei Verbindung beide leuchten, obwohl TX 
Ruhepegel 3.3 V ist ). Das ist auch unmittelbar nach Anlegen der 
Versorgungsspannung so.

Es geht um diese Pins:

P1.1/TA0/MCLK General-purpose digital I/O / .. / BSL receive
P1.0/TA0      General-purpose digital I/O / .. / BSL transmit

Diodentest
 Pin -> GND 1.6 V  ?
 GND -> Pin 0.5 V
 Pin -> VCC 0.7 V
 VCC -> Pin 1.8 V  ?

Ist für andere Pins auch so.

Meine Frage nun: gibt es da irgendwas zu übersehen? Ein GPIO sollte nach 
/ bei Reset doch immer floating sein (PDIR bei Reset auf 0)? Soweit ich 
weiß, lassen sich diese Ports nicht deaktivieren.

Info:
 Produktseite  http://www.ti.com/product/MSP430F449
  Datenblatt   http://www.ti.com/lit/gpn/msp430f449
  Family Guide http://www.ti.com/lit/pdf/slau056
 SLAA096D - Application of Bootstrap Loader in MSP430
 SLAA089F -> SLAU319K MSP430 Programming With the Bootloader (BSL)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

H4ck3r :-) schrieb:
> da ich keinen JTAG Adapter für MSP habe

Sofern Du einen PC mit Frickelport* hast, kannst Du Dir so etwas leicht 
selberbauen; TI hat die simple Schaltung, die im MSP-FET430PIF verwendet 
wird, veröffentlicht:

http://www.ti.com/lit/pdf/slau278, Seite 178


Ansonsten hast Du nichts darüber geschrieben, wie Du den BSL aktivieren 
willst -- laut slaa89 musst Du mindestens zwei fallende Flanken an TCK 
anlegen solange /RST low ist und TCK low halten, wenn /RST auf High 
geht.
(Beschrieben in Abschnitt 2.2 "Flash Devices with dedicated JTAG pins")

Machst Du das?

*) Parallelport. War ursprünglich mal für Drucker gedacht, wurde danach 
für viele viele Probleme bereitende Frickeleien wie Programmieradapter 
etc. missbraucht.

: Bearbeitet durch User
von H4ck3r :-) (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Machst Du das?

Das hatte ich versucht, und dann nach

 Mass Erase...
 ERROR: Synchronization failed!
 Device with boot loader connected?

bemerkt, dass die TX/RX Pins auch im Reset LOW sind, so dass das 0x08 
(?) Sync-Byte gar nicht übertragen werden kann. Bringt also nichts!? 
Falls jemand die Möglichkeit hat, wär's natürlich super, ein 
Oszillogramm oder Trace aller BSL-Signale eines funktionierenden 
Transfers zu veröffentlichen.

Vor Jahren hatte ich mit dem BSL schonmal Erfolg bei dem 
MSP430-Launchpad Debuginterface - die BSL-Sequenz hatte ich damals von 
Hand ausgeführt.

(Es gibt übrigens auch eine MSP430-Launchpad-Firmware, die es zum 
BSL-Adapter macht: SLAA535A)

Was kann's noch sein?
Hardware
 - Richtige Pins erwischt? Ja. Vorsicht: Marking um 90° auf dem Package 
gedreht, irreführende "Kreise" sind nicht die Pin-1-Markierung!
 - Target-Hardware zieht die Pins auf GND (ich finde dazu nichts / 
Messung spricht dagegen)
 - Versorgungsspannung stabil
 - Pins per JTAG o.Ä. deaktiviert
 - CP2102 Adapter zu hochohmig
 - Pegel falsch / invertiert
 - Custom IC (Marking entspricht allerdings dem Datenblatt)
 - IC defekt

Rufus Τ. F. schrieb:
> leicht selberbauen

Danke für den Hinweis, aber das ist mir zu aufwändig. Eher würde ich es 
mit Beitrag "Use your STMxx-Discoveryboard as JTAG (SWD)" probieren, aber das 
Projekt ist offenbar tot.

von Clemens L. (c_l)


Lesenswert?

H4ck3r :-) schrieb:
> bemerkt, dass die TX/RX Pins auch im Reset LOW sind

Währen des Resets sind alle Pins hochohmig. Die Pins werden erst vom BSL 
konfiguriert. Falls der BSL überhaupt läuft.

> Target-Hardware zieht die Pins auf GND

Du hast uns bisher verheimlicht, was für eine Target-Hardware du 
benutzt.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

H4ck3r :-) schrieb:
> Eher würde ich es mit Beitrag "Use your STMxx-Discoveryboard as JTAG
> (SWD)" probieren

Das wird problematisch, denn JTAG != JTAG. Oder gibt es etwa 'ne 
Softwareunterstützung, um das Ding mit 'nem MSP430 zu nutzen?

Das G2-Launchpad verwendet übrigens (ebenso wie der ältere EZ430) 
praktisch die gleiche Hardware wie der MSP-FET430UIF, nur die 
Treiberbausteine für das 4-Draht-JTAG-Interface fehlen. Wenn man in den 
'F1612 auf dem Launchpad/EZ430 die Firmware des MSP-FET430UIF lädt und 
die nötigen Treiberbausteine dranbastelt, sollte man damit dann auch 
"korrektes" 4-Draht-JTAG betreiben können.

Die Schaltung des MSP-FET430UIF ist im selben Dokument enthalten wie die 
des Frickelportadapters (ab Seite 172 von slau278), die des EZ430 findet 
sich hier:
http://www.ti.com/lit/ug/slau176d/slau176d.pdf ab Seite 9.

Und der Debugteil des G2-Launchpads ist dem der beiden vorgenannten sehr 
ähnlich (http://www.ti.com/lit/ug/slau318f/slau318f.pdf, ab Seite 14).

von H4ck3r :-) (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Wenn man in den
> 'F1612 auf dem Launchpad/EZ430 die Firmware des MSP-FET430UIF lädt und
> die nötigen Treiberbausteine dranbastelt, sollte man damit dann auch
> "korrektes" 4-Draht-JTAG betreiben können.

Die Treiber/Schutzbeschaltung könnten evtl. entfallen, wenn alles mit 
derselben Spannung betrieben wird. Dann müsste man nur eine handvoll 
Leitungen hinzufügen bzw. ändern (Pull-Ups).
Aber wo gibt es die Firmware?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sowohl die "embedded workbench" von IAR als auch der CodeComposer führen 
ein Firmwareupdate durch - also dürften sie diese Firmware irgendwie 
enthalten.

von H4ck3r :-) (Gast)


Lesenswert?

Ja, auf den 2. Blick habe ich es nun für CCS 5.5 gefunden:

C:\Program Files\ti\ccsv5\ccs_base\DebugServer\drivers

Uifv3Downgrader.txt enthält möglicherweise Firmware, UpdateTool.exe ist 
dort auch.

Ich werde jetzt erstmal ein anderes Target mit BSL testen, an dem die 
Leitungen erwartungsgemäß floaten..

von H4ck3r :-) (Gast)


Lesenswert?

Am anderen Target hat es mit BSL funktioniert.

Die o.g. Updates scheinen zu klein zu sein für vollständige Images, eher 
wohl Patches. Der Rest (komplette Firmware) ist vielleicht in der DLL 
versteckt?

Läuft aber evtl. schon dieselbe Software darauf? Mein MSP-EXP430G2 Rev 
1.4 EMULATION meldet sich als MSP-FET430UIF mit VID 0451 und PID f432 
an.

http://www.linux-usb.org/usb.ids
 ...
 0451  Texas Instruments, Inc.
   ..
   f430  MSP-FET430UIF JTAG Tool
   f432  eZ430 Development Tool
 ...

Wie könnte man das prüfen?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

H4ck3r :-) schrieb:
> Wie könnte man das prüfen?

Hardware für 4-Draht-Betrieb nachrüsten, anschließen, ausprobieren.

von H4ck3r :-) (Gast)


Lesenswert?

Ja: offenbar laeuft dort ein auto-detect und das SBW ist der fallback. 
Zumindest habe ich im Netz keine offizielle Moeglichkeit gefunden, den 
Uebertragungstyp in CCS einzustellen. Evtl. reicht es ja schon, mal 
einen LA anzuschliessen um zu sehen, ob die Leitungen angesprochen 
werden.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

H4ck3r :-) schrieb:
> Zumindest habe ich im Netz keine offizielle Moeglichkeit gefunden, den
> Uebertragungstyp in CCS einzustellen.

Das lässt darauf schließen, daß die Identifikation des verwendeten 
Adapters an doch mehr als der VID/PID-Kombination liegt. Tja. Würdest Du 
keinen so völlig antiquierten Controller verwenden, könntest Du SBW 
nutzen, was von TI mit spottbilligen Launchpads & Co. fleißig 
unterstützt wird ...

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.