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
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
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.
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!!!
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!
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!
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.
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
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
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
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
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.
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