www.mikrocontroller.net

Forum: Compiler & IDEs GAS/GCC-Code mit MSP430 verwenden


Autor: einsteiger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich möchte erst mal zu Testzwecken ein einfaches Assembler-File mit dem 
GNU-Assembler msp430-as oder dem GNU-C-Compiler msp430-gcc compilieren 
und dann per msp430-jtag hochladen und ausführen.
Das Programm wird zwar compiliert (Befehlszeile 
"c:\mspgcc\bin\msp430-gcc.exe -c %1.S -o %1.elf -D_GNU_ASSEMBLER_ 
-mmcu=msp430x149"), der Programmname "fet140_1.S" wird dem Batch-File 
als Parameter übergeben.
Aber beim Versuch, das Programm per "msp430-jtag" hochzuladen, kommt die 
Fehlermeldung "An error occurd: No executable".
Die Hardware ist in Ordnung, mit anderen Compilern verwende ich den 
jtag-Adapter und die angeschlossenen Prozessoren ohne Probleme.
Hat jemand einen Tip, mit welchen Kommandozeilenoptionen man den GCC- 
oder GAS-Compiler dazu bringt, ein ausführbares Programm zu erzeugen, 
das man mit "msp430-jtag" hochladen kann ?

Hier der Sourcecode (Datei fet140_1.S) :

#include <io.h>
;*********************************************************************** 
*******
;   MSP-FET430P140 Demo - Software Toggle P1.0
;
;   Description; This program will toggle P1.2 by xor'ing P0.1
;   ACLK = n/a, MCLK = SMCLK = default DCO ~ 800k
;
;   M.Buccini, Texas Instruments, January 2002
;   Adapted for mspgcc by Steve Underwood <steveu@coppice.org>
;*********************************************************************** 
*******
            .section    .text
RESET:      mov.w   #0xA00,R1               ; Initialize 'F149 
stackpointer
StopWDT:    mov.w   #WDTPW+WDTHOLD,&WDTCTL  ; Stop WDT
SetupP1:    bis.b   #0x04,&P1DIR            ; P1.2  output
                                            ;
Mainloop:   xor.b   #0x04,&P1OUT            ; Toggle P1.2
Wait:       mov.w   #050000,R15             ; Delay to R15
L1:         dec.w   R15                     ; Decrement R15
            jnz     L1                      ; Delay over?
            jmp     Mainloop                ; Again
                                            ;
;----------------------------------------------------------------------- 
-------
;           Interrupt Vectors Used MSP430x13x/14x
;----------------------------------------------------------------------- 
-------
            .section    .vectors
            .org    0x1E,0xFF               ; MSP430 RESET Vector
            .word   RESET                   ;

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, nach dem Assemblieren/Compilieren muss ja der Linker noch ran, um 
ein ausführbares File zu machen....mein Eclipse macht das so:
msp430-gcc -IC:\mspgcc\msp430\include -O0 -g3 -pg -p -Wall -c -fmessage-length=0 -mmcu=msp430x1611 -oRC5.o ..\RC5.c
msp430-gcc -IC:\mspgcc\msp430\include -O0 -g3 -pg -p -Wall -c -fmessage-length=0 -mmcu=msp430x1611 -omain.o ..\main.c
msp430-gcc -IC:\mspgcc\msp430\include -O0 -g3 -pg -p -Wall -c -fmessage-length=0 -mmcu=msp430x1611 -oSoftUart.o ..\SoftUart.c
msp430-gcc -IC:\mspgcc\msp430\include -O0 -g3 -pg -p -Wall -c -fmessage-length=0 -mmcu=msp430x1611 -owait.o ..\wait.c
msp430-gcc -mmcu=msp430x1611 -oRC5_Serial.elf wait.o main.o SoftUart.o RC5.o

Autor: einsteiger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, hat sich geklärt.
In der Beschreibung des msp430-jtag.exe heisst es zwar "ELF files can 
also be loaded", aber der Upload führt nur mit dem hex-File zu einem im 
Prozessor ausführbaren Programm.
Nachdem ich jetzt nicht das *.elf, sondern das *.hex-File hochlade, 
funktioniert es.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche Version der ToolChain ist das denn? Meine aktuelle unter Windows 
lädt problemlos elf Files in den MSP430.

Autor: einsteiger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eigentlich schon die aktuelle,
die binary-Dateien sind vom 20.6.2008.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.