Wie MSP430 unter Eclipse flashen?

OP Persönliche Seite #394993
Lesenswert?

Hallo zusammen,

blöde Frage, aber wie bekomme ich mein Programm in mein MSPF149
geflasht? Ich verwende Eclipse mit MSPGCC. Debuggen geht, nur wie ich
flashe weiß ich nicht. Muss der 32kHz-Oszillator eingelötet sein? Auf
dem Olimex-Board ist nämlich bislang keiner drauf (Nicht das es daran
liegt und ich es beim Debuggen mit dem Single-Stepping nicht
auffällt.).

Gruß
Christoph
Gast #394995
Lesenswert?

Bist du nach der Anleitung von Andreas Ackermann vorgegangen?

Wenn in deiner gdb-init Datei

monitor erase
load DeinProgramm.elf

steht, wird der MSP bei jedem Debug-Start geflasht. Lässt sich auch in
der GDB-Proxy Konsole nachlesen. MSP430_Memory(write) müsste da
mehrmals auftauchen.
OP Persönliche Seite #394996
Lesenswert?

Ja, die Anleitung habe ich benutzt. Dann würde mein gdb-init-File jetzt
so aussehen:

target remote localhost:3333
set remoteaddresssize 16
set remotetimeout 999999
set download-write-size 512
set remote memory-write-packet-size 512
set remote memory-write-packet-size fixed
set remote memory-read-packet-size 512
set remote memory-read-packet-size fixed
monitor erase
load main.elf
load Debug\Test2

Nur wenn ich jetzt auf Compilieren gehe, funktioniert das nicht mehr
und ich bekomme folgende Fehlermeldung:

**** Full rebuild of configuration Debug for project Test2 ****

make -k clean all
rm -rf  ./main.o  ./main.d Test2
rm: cannot remove `Test2': Permission denied
make: [clean] Error 1 (ignored)

Building file: ../main.c
Invoking: mspgcc GCC C Compiler
msp430-gcc -IC:/MSPGCC/msp430/include -O3 -g3 -Wall -c
-fmessage-length=0 -mmcu=msp430x149 -omain.o ../main.c
Finished building: ../main.c

Building target: Test2
Invoking: mspgcc GCC C Linker
msp430-gcc -mmcu=msp430x149 -oTest2 ./main.o
msp430-ld: cannot open output file Test2: Permission denied
make: *** [Test2] Error 1
make: Target `all' not remade because of errors.
Build complete for project Test2

Dementsprechend kann ich auch nicht mehr debuggen.

Was mache ich noch falsch? Irgendwie war der AVR-Einstieg einfacher...
;-)

Gruß
Christoph
Gast #394997
Lesenswert?

Öööhm, wieso 2 mal Load? Du hast doch nur ein .elf File, was der
Kompiler erzeugt, und das heißt in der Regel so, wie dein Projekt. Kann
man in den projektoptionen Einstellen. Ist doch eigentlich ganz einfach,
bei mir ging das auf Anhieb. Also 2 mal Load ist definitiv falsch, da
kommt ja nur Grütz raus.
OP Persönliche Seite #394999
Lesenswert?

Sorry, mein Fehler das mit den zwei load. Hatte ich übersehen.

Meine gdb-init-Datei sieht nun folgenderweise aus:

target remote localhost:3333
set remoteaddresssize 16
set remotetimeout 999999
set download-write-size 512
set remote memory-write-packet-size 512
set remote memory-write-packet-size fixed
set remote memory-read-packet-size 512
set remote memory-read-packet-size fixed
monitor erase
load test.elf

Nur stehe ich momentan ziemlich auf dem Schlauch, ich habe scheinbar
keine .elf-Datei. Woran kann das liegen bzw. wo speichert Eclipse die
ab? Im Projektverzeichnis ist nichts. Sorry, wenn ich mich etwas dumm
anstelle, nur weiß ich momentan wirklich nicht weiter.
Gast #395001
Lesenswert?

Standardmäßig ist da keine Endung für die Datei eingestellt. Hast du
überhaupt beim Projekt erstellen eingestellt, dass du EFL Binary machen
willst? Dann kannst du bei Project Properties -> C/C++ Build -> Build
Setting -> Build Output einstellen, wie die elf datei heißen soll, und
welche Endung sie haben soll.
Steht dann im Debug oder Release Ordner, je nachdem.
OP Persönliche Seite #395002
Lesenswert?

ELF-Binary hatte ich beim Projekt erstellen eingestellt. Die Endung habe
ich wie du beschrieben hast angehängt. Nur bekomme ich jetzt folgende
Fehlermeldung und immer noch kein .elf-File:

**** Full rebuild of configuration Debug for project Test ****

make -k clean all
rm -rf  ./test.o  ./test.d test.elf

make: *** No rule to make target `test.elf', needed by `all'.
make: Target `all' not remade because of errors.
Build complete for project Test

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren