.s43 in MSP C-Programm einbinden?

Gast #398884
Lesenswert?
• ▲
▼
Hallo!

Ich habe hier eine Funktion in einem .s43 Programm und möchte diese in
einem c-Programm einbinden. (Compiler: mspgcc)
Welche Optionen brauche ich hier im makefile?

Bisher sieht das Ganze so aus: (mul.s43 ist das einzubindende file)


NAME            = test
CSOURCES        = main.c modul1.c modul2.c
ASOURCES  = mul.s43
CPU             = msp430x169

ASFLAGS         = -mmcu=${CPU} -D_GNU_ASSEMBLER_
CFLAGS          = -mmcu=${CPU} -O2 -Wall -g

#switch the compiler (for the internal make rules)
CC              = msp430-gcc
AS              = msp430-gcc

OBJECTS         = ${CSOURCES:.c=.o} ${ASOURCES:.s43=.o}

.PHONY: all FORCE clean download download-jtag download-bsl dist

#all should be the first target. it's built when make is run without
args
all: ${NAME}.elf ${NAME}.lst ${NAME}.hex

#additional rules for files
${NAME}.elf: ${OBJECTS}
  ${CC} -mmcu=${CPU} -o $@ ${OBJECTS}

${NAME}.a43: ${NAME}.elf
  msp430-objcopy -O ihex $^ $@

${NAME}.lst: ${NAME}.elf
  msp430-objdump -dSt $^ >$@
  echo >>$@ " "
  echo >>$@ "----- RAM/Flash Usage -----"
  msp430-size $^ $(OBJECTS) >>$@
  msp430-size $^ $(OBJECTS)

${NAME}.hex: ${NAME}.elf
  msp430-objcopy -O ihex $^ $@



clean:
  rm -f ${NAME} ${NAME}.a43 ${NAME}.lst ${OBJECTS} dependencies.d

dependencies.d:
  $(CC) -MM ${CFLAGS} ${CSOURCES} > dependencies.d
ifdef {$ASOURCES}
  $(CC) -MM ${ASFLAGS} ${ASOURCES} >> dependencies.d
endif

#dummy target as dependecy if something has to be build everytime
FORCE:

#project dependencies
-include dependencies.d



Im mul.s43 gibt es eine PUBLIC Funktion, diese wird im main
prototypisch mit

long mul16(register int x, register int y);

aufgenommen. Ist das ok so?


Danke im Voraus, Hans

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.