Forum: Mikrocontroller und Digitale Elektronik MSP430 Probleme beim download eines Testprogramms


von Sebastian S. (sso)


Lesenswert?

Hallo,

für ein Projekt an meiner FH soll ich einen MSP430 Controller 
programmieren. Als Compiler wurde MSPGCC vorgegeben. Von meinem 
Professor habe ich ein kleines Entwicklungsboard erhalten 
(MSP-FET430P140). Zu dem Entwicklungsboard  gehört ein JTAG-Programmer 
für den Parallelport. Auf dem Board befindet sich ein MSP430F169 
Controller.

Ich habe bereits ein kleines Beispiel Programm (leds aus dem 
MSPGCC\examples Ordner) für den Controller angepasst und erfolgreich 
compiliert. Jetzt möchte ich das Programm in den Controller schreiben. 
Leider bricht das makefile immer mit folgender Meldung ab:
1
> "make.exe" program
2
msp430-jtag -e leds.elf
3
MSP430 JTAG programmer Version: 2.3
4
Cleaning up after error...
5
Reset and release device...
6
7
An error occoured:
8
Can't open interface: Could not find device (or device not supported)
9
make.exe: *** [download-jtag] Error 1
10
11
> Process Exit Code: 2
12
> Time Taken: 00:01

Wie im MSPGCC Handbuch (http://mspgcc.sourceforge.net/manual/x1467.html) 
beschrieben habe ich den Befehl "msp430-gdbproxy --debug msp430" in der 
Eingabeaufforderung eingegeben und folgende Meldung erhalten:
1
Remote proxy for GDB, v0.7.1, Copyright (C) 1999 Quality Quorum Inc.
2
MSP430 adaption Copyright (C) 2002 Chris Liechti and Steve Underwood
3
4
GDBproxy comes with ABSOLUTELY NO WARRANTY; for details
5
use `--warranty' option. This is Open Source software. You are
6
welcome to redistribute it under certain conditions. Use the
7
'--copying' option for details.
8
9
debug:     msp430: msp430_open()
10
debug: MSP430_Initialize()
11
debug: MSP430_Configure()
12
debug: MSP430_VCC(3000)
13
debug: MSP430_Identify()
14
error:     msp430: Could not find device (or device not supported) (4)
15
debug: MSP430_VCC(0)
16
debug: MSP430_VCC(3000)
17
debug: MSP430_Reset(ALL_RESETS)
18
debug: MSP430_Close()
19
Assertion failed: !msp430_status.is_open, file target_msp430.c, line 745
20
21
This application has requested the Runtime to terminate it in an unusual way.
22
Please contact the application's support team for more information.

Die Installation des giveio Service lief ohne Fehlermeldung ab.
Für das Entwicklungsboard nutze ich eine externe 3,3V 
Spannungsversorgung, den 0 Ohm Widerstand R8 habe ich dazu wie im 
Handbuch angegeben ausgelötet und auf R9 plaziert.

Parallel zu MSPGCC habe ich WinAVR auf meinem WinXP Rechner installiert 
(WinAVR war zuerst installiert). Ein MSPGCC Projekt konnte ich erst 
erfolgreich compilieren nachdem ich die Datei "cygwin1.dll" im 
WinAVR\bin Ordner umbenannt habe. Möglicherweise liegt mein Problem, 
dass ich nicht den MSP430 Controller programmieren kann ebenfalls an der 
bereits vorhandenen WinAVR Installation. Möglicherweise liegt das 
Problem auch ganz woanders...

Hat vielleicht jemand eine genauere Ahnung wo mein Problem liegen 
könnte?

Gruß
Sebastian

von Sebastian S. (sso)


Lesenswert?

Ach ja, habe vergessen noch zu erwähnen, dass auch mit deaktivierter 
Firewall (ZoneAlarm) der gleiche Fehler auftritt.

von Christian R. (supachris)


Lesenswert?

Das deutet eher auf ein Hardware-Probem auf dem Target-Board hin. Sind 
wirklich die JTAG-Anschlüsse richtig belegt? Ich weiß jetzt nicht aus 
dem kopf, wie die R8 und R9 waren, du musst aber auf jeden Fall den 
Parallelport-Debugger vom MSP-Board aus mit Strom versorgen, in den 
allermeisten Fällen reicht das bissl Saft vom Par-Port nicht aus.

von Sebastian S. (sso)


Angehängte Dateien:

Lesenswert?

Hmm, das Programmiergerät ist von TI. Alle Steckverbindungen sind so 
ausgelegt, dass sie nicht verkehrt angeschlossen werden können. Die 
Widerstände R8 und R9 habe ich, wie im Schaltplan angegeben, für eine 
externe Stromversorgung umgelötet (s. Anhang).

Als Stromversorgung nutze ich den USB Port und einen 3,3V 
Spannungsregler (MAX882), so habe ich mir erhofft, dass ich den 
Controller auch in der FH programmieren kann, ohne jede Menge Zeugs 
(Kabel und Netzteil) rumschleppen zu müssen. Zwischen USB Vcc und 
Spannungsregler habe ich einen 18 Ohm Widerstand gepackt. So sollte der 
Regler bis zu 50mA liefern können und im Kurzschlussfall sollte mein USB 
Port überleben.

Allerdings habe ich einmal die externe Spannungsversorgung am Board 
angeschlossen gehabt, BEVOR ich die Widerstände R8 und R9 umgelötet 
habe. Könnte dadurch dass Programmiergerät beschädigt worden sein?

Ich bin mir auch nicht 100%-ig sicher ob ich den Controller richtig in 
die Fassung eingesetzt habe. Das Chip Gehäuse hat 3 Markierungen 
(kreisförmige Vertiefungen) wobei eine Markierung kleiner ist als die 
anderen beiden. Da diese kleinere Markierung einzigartig ist, habe ich 
sie als Pin 1/64 Ecke angenommen. Ich kenne mich mit diesen PM64 
Gehäusen nicht so besonders aus...

Schon mal vielen Dank für Deine Unterstüzung!

Gruß
Sebastian

von Sebastian S. (sso)


Lesenswert?

Ich habe alles mal durchgemessen:
25-pol Sub-D Kabel -> OK
14-pol JTAG Kabel -> OK

Ich habe auch noch die Verbindungen auf dem Board überprüft und folgende 
Abweichungen vom Schaltplan, den ich bei meinem letzten Beitrag 
angehängt habe, festgestellt:

JTAG Pin 6 sollte mit XOUT von LFXTCLK verbunden sein
JTAG Pin 10 sollte mit XIN von LFXTCLK verbunden sein
Beide JTAG Anschlüsse werden aber auf dem Board nicht verwendet (keine 
Verbindung).

Liegt hier vielleicht der Hund begraben?
Kann ich einen Konflikt mit WinAVR ausschließen?

Gruß
Sebastian

von Christian R. (supachris)


Lesenswert?

Am WinACR kanns meiner Meinung nach nicht liegen, denn der gdb-proxy 
bzw. das JTAG Toll findet den Prozessor nicht mal. Das ist nur ein 
Perl-Script, das hat nicht viel mit Cygwin zu tun.

Die beiden Leitungen zu den Quarz-Anschlüssen sind nicht mehr aktuell, 
steht aber im User Guide des FET.

Richtig rin sollte er sein, die 1 ist da, wo das tiefere Loch ist, was 
auch so bissl glänzt. Wenn du die Schrift lesen kannst, ist die 1 unten 
links.

Hast du GiveIO richtig installiert? Wird beim Installationsprozess des 
mspgcc Paketes gemacht, dazu muss man Administrator-Rechte haben.

Was passiert, wenn du den GDB-Proxy über das Startmenü startest? Findet 
er dann den Prozessor? Das msp430-jtag geht manchmal nicht richtig, aber 
finden tut er den Prozzi eigentlich immer.

Hast du mal probiert, die esterne Stromversorgung wegzulassen und über 
das FET zu versorgen? Bei wenig Last sollte das auch gehn.

von Sebastian S. (sso)


Lesenswert?

Hallo,

ja GiveIO sollte richtig installiert sein, ich habe vorsichtshalber die 
Datei giveio.sys aus dem Windows Ordner gelöscht und anschließend die 
"Install GiveIO Service" Batch Datei ausgeführt.

Starten des GDB-Proxy aus dem Startmenü ändert leider auch nichts an der 
Fehlermeldung.

Die Fehlermeldung erhalte mit FET- und externe Stromversorgung und 
entsprechend umgelöteten Widerstand R8/R9.

Wie ESD empfindlich sind die Controller eigentlich?
Habe den Controller ausgetauscht, bringt leider auch nichts.

Ich habe mehr und mehr den Eindruck, dass das Programmiergerät defekt 
ist.
Werde mich wohl mal daran machen müssen, selbst eins zu basteln. Eine 
Anleitung dazu habe ich bereits gefunden.

Gruß
Sebastian

von Christian R. (supachris)


Lesenswert?

ESD-empfindlich sind sie eigentlich weniger, auf Überspannung reagieren 
sie aber mit Rauchzeichen.
Der Programmer könnte natürlich auch noch kaputt sein. Ich hab so einen 
ganz einfachen mal von Ebay für 10€, da lohnt der Selbstbau nicht. Zumal 
man dann ja wieder Fehlerquellen hat.

von Sebastian S. (sso)


Lesenswert?

Ja, aber wie das immer so ist wenn man einen braucht ... gibt es gerade 
keinen!

von Christian R. (supachris)


Lesenswert?

Frag ma Steven Wetzel: 
http://steven-wetzel.de/texas_instrument/texas_instrument.html#jtag_prog 
von dem hatte ich den Programmer. Der ist auch hier im Forum aktiv. 
Vielleicht hat er noch welche.

von Sebastian S. (sso)


Lesenswert?

Vielen Dank! Habe Ihm so eben eine Mail gesendet.

Gruß
Sebastian

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.