.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

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