Forum: Mikrocontroller und Digitale Elektronik Eclipse #include <msp430x14x.h>


von Raphael R. (raphael)


Lesenswert?

unter Eclipse inkludiere ich mittels #include <msp430x14x.h>
er findet diese header datei auch. er bindet sogar alle unter dem pfad 
/opt/cdk4msp/msp430/include enthaltenen headerdateien unter includes 
ein.

jedoch wenn ich beispielsweise WDTCTL im programmtext schreibe, bekomme 
ich nach dem build eine fehlermeldung

WDTHOLD nicht deklariert

und das sagt er bei allen anderen wie zum beispiel WDTPW auch, was ist 
los mit Eclipse?

dafür hab ich ja headerdateien, dass ich nicht alles selber schreiben 
muss!

:-/ danke für eure hilfe >Raphael

von Christian R. (supachris)


Lesenswert?

Musst den Include-Pfad in den Projektoptionen bei Build Settings 
einstellen.

von Raphael R. (raphael)


Lesenswert?

Danke erstmals für die Antwort, ich bin ja schon etwas am verzweifeln!

Ich habe nun die Reihenfolge der Include-Files in den Include-Paths für 
die
msp430xxxx.h geändert, und bekomme von der Console folgedes bei 
ausführen von Build All.

**** Build of configuration Debug for project hello_w ****

/usr/bin/make all
Building file: ../src/hello_w.c
Invoking: GCC C Compiler
/opt/cdk4msp/bin/msp430-gcc-3.3.2 -mmcu=msp430x149 
-I/opt/cdk4msp/msp430/include -I/usr/local/lib -I/opt/cdk4msp/lib 
-I/opt/cdk4msp/include -I/opt/cdk4msp/msp430/bin -I/opt/cdk4msp/bin 
-I/usr/bin -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP 
-MF"src/hello_w.d" -MT"src/hello_w.d" -o"src/hello_w.o" 
"../src/hello_w.c"
../src/hello_w.c:11:24: warning: msp430x14x.h: Permission denied
../src/hello_w.c:15: warning: return type of `main' is not `int'
../src/hello_w.c: In function `main':
../src/hello_w.c:16: error: `WDTCTL' undeclared (first use in this 
function)
../src/hello_w.c:16: error: (Each undeclared identifier is reported only 
once
../src/hello_w.c:16: error: for each function it appears in.)
../src/hello_w.c:16: error: `WDTPW' undeclared (first use in this 
function)
../src/hello_w.c:16: error: `WDTHOLD' undeclared (first use in this 
function)
../src/hello_w.c:17: error: `P1DIR' undeclared (first use in this 
function)
../src/hello_w.c:23: error: `P1OUT' undeclared (first use in this 
function)
../src/hello_w.c:30:2: warning: no newline at end of file
make: *** [src/hello_w.o] Fehler 1

nun habe ich die Schreibrechte im Workspace und die Schreibrechte an der 
Position des Ordners wo die include msp430xxxx.h stehen ebenfalls auf 
777 gesetzt.
Hat leider nichts gebracht!!!

bitte um Hilfe

danke >Raphael

von Christian R. (supachris)


Lesenswert?

Hmm...Linux...keine Ahnung. Ich arbeite mit Windows, da klappts. Aber 
ich denke, dass es an der Berechtigung liegt, schließlich taucht der 
Fehler zuerst auf. Komisch.

von Raphael R. (raphael)


Lesenswert?

so Fehler entdeckt,

ich kann das file aus irgend einem grund gar nicht öffnen, nicht mal im 
Editor

cp: „msp430x14x.h“ kann nicht zum Lesen geöffnet werden: Permission 
denied

da ist mir wohl was passiert,
versuche mal den Fehler zu beheben , um die weiter Fehler untersuchen zu 
können!!!

von Raphael R. (raphael)


Lesenswert?

mit sudo ging das lesen,

ich checks ned, kann er nicht schreiben, sie haben nicht genügend 
berechtigungen zum lesen der datei, dann hätt ichs gecheckt.

naja, nach 1Monat nur herumprobieren, darf man auch ein paar Fehler 
machen!

von Raphael R. (raphael)


Lesenswert?

so nun habe ich direkt die volle R W Rechte für msp430x14x.h vergeben.

und bekomme folgenden fehler

**** Clean-only build of configuration Debug for project hello_w ****

/usr/bin/make clean
rm -rf  ./src/hello_w.o  ./src/hello_w.d  hello_w.elf


**** Build of configuration Debug for project hello_w ****

/usr/bin/make all
Building file: ../src/hello_w.c
Invoking: GCC C Compiler
/opt/cdk4msp/bin/msp430-gcc-3.3.2 -mmcu=msp430x149 
-I/opt/cdk4msp/msp430/include -I/usr/local/lib -I/opt/cdk4msp/lib 
-I/opt/cdk4msp/include -I/opt/cdk4msp/msp430/bin -I/opt/cdk4msp/bin 
-I/usr/bin -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP 
-MF"src/hello_w.d" -MT"src/hello_w.d" -o"src/hello_w.o" 
"../src/hello_w.c"
../src/hello_w.c:15: warning: return type of `main' is not `int'
../src/hello_w.c:30:2: warning: no newline at end of file
Finished building: ../src/hello_w.c

Building target: hello_w.elf
Invoking: GCC C Linker
/opt/cdk4msp/bin/msp430-gcc -mmcu=msp430x149 -L/opt/cdk4msp/lib 
-L/opt/cdk4msp/msp430/lib -o"hello_w.elf"  ./src/hello_w.o
/bin/sh: /opt/cdk4msp/bin/msp430-gcc: No such file or directory
make: *** [hello_w.elf] Fehler 127


Zur Info, das ganze läuft unter

Kubuntu mit Eclipse 3.3 Europa und CDT4.0.x

Ich poste jetzt die ganze Sauerei, damit andere es mal leichter haben!

von Raphael R. (raphael)


Lesenswert?

Lösung

ich musste unter Properties bei GCCC C Linker folgedes unter Command 
einfügen

/opt/cdk4msp/bin/msp430-gcc-3.3.2 -mmcu=msp430x149

ich hatte nur

/opt/cdk4msp/bin/msp430-gcc -mmcu=msp430x149

es fehlte also das -3.3.2 und er konnte das File nicht finden.

Aber natürlich gibts anschliessend ne neue Fehlermeldung :-)

**** Clean-only build of configuration Debug for project hello_w ****

/usr/bin/make clean
rm -rf  ./src/hello_w.o  ./src/hello_w.d  hello_w.elf


**** Build of configuration Debug for project hello_w ****

/usr/bin/make all
Building file: ../src/hello_w.c
Invoking: GCC C Compiler
/opt/cdk4msp/bin/msp430-gcc-3.3.2 -mmcu=msp430x149 
-I/opt/cdk4msp/msp430/include -I/usr/local/lib -I/opt/cdk4msp/lib 
-I/opt/cdk4msp/include -I/opt/cdk4msp/msp430/bin -I/opt/cdk4msp/bin 
-I/usr/bin -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP 
-MF"src/hello_w.d" -MT"src/hello_w.d" -o"src/hello_w.o" 
"../src/hello_w.c"
../src/hello_w.c:15: warning: return type of `main' is not `int'
../src/hello_w.c:30:2: warning: no newline at end of file
Finished building: ../src/hello_w.c

Building target: hello_w.elf
Invoking: GCC C Linker
/opt/cdk4msp/bin/msp430-gcc-3.3.2 -mmcu=msp430x149 -L/opt/cdk4msp/lib 
-L/opt/cdk4msp/msp430/lib -o"hello_w.elf"  ./src/hello_w.o
msp430-gcc-3.3.2: installation problem, cannot exec `msp430-ld': No such 
file or directory
make: *** [hello_w.elf] Fehler 1

Schritt für Schritt nähere ich mich der Lösung / oder dem Abrund :-)
bischen krank sind wir ja schon alle, die sich täglich mit sowas 
beschäftigen.

von Raphael R. (raphael)


Lesenswert?

dazu gabs schon mal nen Windows Beitrag,

ich werde das Problem lösen und posten!

von Raphael R. (raphael)


Lesenswert?

ERROR bei Build all

msp430-gcc-3.3.2: installation problem, cannot exec `msp430-ld': No such 
file or directory

ich habe die /etc/environment also die umgebungsvariablen schon 100mal 
gesetzt!

es geht nicht.

help

von Raphael R. (raphael)


Lesenswert?

habe unter

/etc/bash.bashrc

PATH=$PATH:/opt/cdk4msp/bin
export PATH

gesetzt

nun findet er in der konsole von überall aus aus
msp430-ld

trotzdem kommt beim Build all mit Eclipse der Fehler

msp430-gcc-3.3.2: installation problem, cannot exec `msp430-ld': No such 
file or directory


help

von Raphael R. (raphael)


Lesenswert?

Zusammenfassung:

das Problem liegt schon mal daran, dass ich das ganze in Kombination mit 
Eclipse nicht verwenden kann, wenn es nicht einmal ohne Eclipse 
funktioniert!

Kurz ich hatte Probleme mit den Umgebungsvariablen!

mittels dieser Anleitung konnte ich das Problem vermutlich, soweit ich 
es bis jetzt getestet habe beheben:

https://mail.nesl.ucla.edu/pipermail/sos-2x-commit/2007-September/000593.html

textauszug:

$ mv libHIL.so /usr/local/lib
-$ ldconfig
+$ mv libHIL.so $SOSMSPTOOLDIR/lib
+$ sudo ldconfig
 $ cd ../..
 code~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

@@ -578,18 +580,29 @@
 code~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 $ chmod +x msp430-gdbproxy
 $ mv msp430-gdbproxy $SOSMSPTOOLDIR/bin
-$ mv libMSP430.so /usr/local/lib/
+$ mv libMSP430.so $SOSMSPTOOLDIR/lib/
 code~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 - Add a rule to udev to select an appropriate configuration of TI 
USB-serial
 converter. Look 
link:http://www.moteiv.com/community/Debugging_Tmote_Sky_with_GDB[here]
-for exact details.
+for exact details. Note that the udev rule file for ubuntu must be 
called
+"26-ti.rules", instead of "026_ti" or else ubuntu won't detect the TI
+USB-serial converter.

+- Make sure that you set the LD_LIBRARY_PATH in your .bashrc as 'export
+LD_LIBRARY_PATH=$SOSMSPTOOLDIR/lib'
+
 - Follow the usage of msp430-gdbproxy and msp430-gdb given
 link:http://www.eecs.harvard.edu/~mdw/proj/tmote-gdb/[here] to debug 
your code.
 Add CFLAGS += -g to $SOSROOT/processor/msp430/Makerules before 
compiling
 your code. Use .elf extension intead of .exe as described in that 
website.
+An example execution for msp430-gdbproxy looks like this:

+[c]
+code ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+msp430-gdbproxy --port=200 msp430 /dev/ttyUSB0 oder /dev/parport0
+code ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

das ganze unter Eclipse zum Laufen zu bewegen, dauert sicher noch eine 
Weile,
aber ich werde den hoffentlichen Erfolg posten!

liebe Grüße Raphael

von Raphael R. (raphael)


Lesenswert?

ENDE

ich könnte euch noch weiter posten, wie die Tragödie ihren Lauf nahm! 
Jedoch, hat das keinen Sinn!

Ich war nicht wirklich Erfolgreich unter Linux/Ubuntu mit der 
MSPGCC-TOOLCHAIN!

Habe im Terminal zwar den msp430-gdbproxy zum laufen gebracht und konnte 
mich dann auch verbinden.

über msp430-gdb konnte ich mich verbinden, jedoch ist der MSP430F169 in 
der letzten linux toolchain nicht unterstütz.

info: msp430: Target device is a 'Device unknown'

da mir leider momentan noch der 100%tige Durchblick fehlt, kann ich die 
mspgcc-toolchain derzeit noch nicht selbst abändern um den MSP430F169 
auch für die Linux-Welt zugänglich zu machen.

Hiermit beende ich das Projekt

:-( Raphael

von Christian R. (supachris)


Lesenswert?

Der 169 wird definitiv unterstützt, muss also ein anderes Problem sein. 
Das ist doch einer der ersten aus der F1xx Reihe. Also bitte.
Lies dir doch mal die Windows-Anleitungen durch, und versuch die 
Einstellungen auf dein Buntiwasauchimmer anzupassen. Die Aufrufparameter 
für Compiler, Linker, GDB und gdb-proxy müssten ja die gleichen sein.

Das Device Unknown deutet eher auf eine Ausschrift des msp430-gdbproxy 
hin, wenn er keinen Controller gefunden hat, also die Kommunikation über 
JTAG nicht klappt.

von Raphael R. (raphael)


Lesenswert?

ok der msp430f169 ist unterstützt, jedoch kommt bei mir dieser nicht nur 
mir bekannte Fehler:

Target device is a 'Device unknown' (type 0)

Mit der neuesten mspgcc Version für Windows soll es laufen.
Mit der Version die ich derzeit unter Linux verwende läuft es nicht.

Schuld daran sind soweit ich weiss die verschiedenen Produkttypen der 
MSP430 Controller aus den Anfangszeiten.
Die ersten Versionen des msp430F169 (und family) hatten ihre 
Eigenheiten. Und haben sich anscheinend nicht an eine klare Linie 
gehalten. Deshalb sind sie nicht immer unterstützt.

Steve U hat jedoch sein Bestes gegeben um auch diese Unfeinheiten 
msp430-gdbproxy zu unterstützen.

leider läuft der aktuellste msp430-gdbproxy von 
http://sourceforge.net/project/showfiles.php?group_id=42303 bei mir 
nicht. dieser msp430-gdbproxy kommt immer mit folgender fehlermeldung.

auszug: msp430-gdbproxy: symbol lookup error: /usr/local/libMSP430.so: 
undefined symbol: HIL_SetProtocol

ich arbeite erstmal mit so weiter und für den f169 muss ich mir noch was 
einfallen lassen.

liebe Grüße an alle

Raphael

System:
Ubuntu 7.10
msp430-gdbproxy von msp430_toolchain paket mit binutil-2.14
tatsächlich verwende ich jedoch die file von dieser seite
http://wyper.ca/           mit binutil-2.17
ausser
den msp430-gdbproxy der ist von einem älteren Gesamtpaket
und die libMSP430.so habe ich von 
http://sourceforge.net/project/showfiles.php?group_id=42303

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.