www.mikrocontroller.net

Forum: Compiler & IDEs GNU ASSEMBLER für MSP430;


Autor: sigi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich benütze den GCC für die Programmierung des MSP430.
Jetzt wollte ich mal ein Projekt mit dem GNU Assembler machen, aber es
gibt Probleme :
Wenn ich das in den Examples für den GCC mitglieferte Programm
"fet140_1.S" compiliere, funktioniert alles bis zum hex-File (über
das *.elf-File).
Beim Laden des hex-Files mit dem IAR C-Spy-Debugger in den Prozessor
(über den JTAG-Adapter und LPT1) erscheint beim Anklicken des
"go"-Befehles folgende Meldung :

C-SPY FATAL ERROR: Fatal error[60] "Could not set breakpoint(s)!"

Ich kompiliere die Datei mit folgender Kommandozeile :
$msp430-gcc.exe -Os -mmcu=msp430x149 -D_GNU_ASSEMBLER_ -x
assembler-with-cpp -c %fet140_1.S -o %fet140_1.elf

Hat jemand Erfahrungen mit dem GNU Assembler für MSP430-Prozessoren und
ev. Tips oder Beispielcode ?

Danke, Sigi

P.S.:
Hier der Sourcecode des Assembler-Files :

#include <io.h>
            .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: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist wohl eher eine C-Spy-Frage, vermute ich mal.

Kann es sein, dass dem Teil die Debug-Informationen fehlen,
die ein Compiler sonst hinterlässt?

Autor: sigi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beim Compilieren von c-Files mit dem GCC taucht das Problem nicht auf,
die hex-Files werden vom IAR-C-Spy-Debugger einwandfrei geladen.
Wenn aber Assembler-Dateien mit dem GCC in hex-Files compiliert werden,
streikt der C-Spy.
Vielleicht liegt´s an einer Optionseinstellung, habe aber nichts
entsprechendes gefunden.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Beim Compilieren von c-Files mit dem GCC taucht das Problem nicht
> auf, die hex-Files werden vom IAR-C-Spy-Debugger einwandfrei
> geladen.

Daher ja meine Vermutung, dass deinem C-Spy nur die Debuginformationen
fehlen.

> Vielleicht liegt's an einer Optionseinstellung, habe aber nichts
> entsprechendes gefunden.

Du kannst mal gucken was passiert, wenn du dem Assembler ein -g mit
auf die Reise gibts.  Da du den Assembler (sinnvollerweise) über den
Compiler aufrufst, kannst du das mit -Wa,-g angeben.

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.