mirror of
https://github.com/oliverschmidt/contiki.git
synced 2024-09-09 23:54:32 +00:00
- Fix build of contiki-2.x AVR port.
- Generate symbol tables for loadable modules.
This commit is contained in:
parent
98cea83de5
commit
265f45feba
@ -1,4 +1,4 @@
|
|||||||
# $Id: Makefile.avr,v 1.4 2006/12/18 15:20:48 fros4943 Exp $
|
# $Id: Makefile.avr,v 1.5 2006/12/22 16:54:36 barner Exp $
|
||||||
|
|
||||||
### Check if we are running under Windows
|
### Check if we are running under Windows
|
||||||
|
|
||||||
@ -17,14 +17,16 @@ CONTIKI_CPU=$(CONTIKI)/cpu/avr
|
|||||||
|
|
||||||
### Define the source files we have in the AVR port
|
### Define the source files we have in the AVR port
|
||||||
|
|
||||||
|
AVR = leds-arch.c leds.c clock.c
|
||||||
SENSORS = #sensors.c button.c pir.c irq.c vib.c sound.c radio.c ctsrts.c \
|
SENSORS = #sensors.c button.c pir.c irq.c vib.c sound.c radio.c ctsrts.c \
|
||||||
#lm71.c
|
#lm71.c
|
||||||
UIPDRIVERS = #me.c me_tabs.c slip.c tr1001-drv.c tr1001.c crc16.c
|
UIPDRIVERS = #me.c me_tabs.c slip.c tr1001-drv.c tr1001.c crc16.c
|
||||||
SYSAPPS = #codeprop.c
|
SYSAPPS = codeprop-tmp.c
|
||||||
ELFLOADER = #loader-arch.c elfloader.c elfloader-avr.c symtab.c
|
ELFLOADER = elfloader.c elfloader-avr.c symtab-avr.c
|
||||||
TARGETLIBS = clock.c flash.c
|
# loader-arch.c
|
||||||
|
TARGETLIBS = clock.c flash.c mtarch.c
|
||||||
|
|
||||||
CONTIKI_TARGET_SOURCEFILES += $(SENSORS) \
|
CONTIKI_TARGET_SOURCEFILES += ${AVR} $(SENSORS) \
|
||||||
$(SYSAPPS) $(ELFLOADER) \
|
$(SYSAPPS) $(ELFLOADER) \
|
||||||
$(TARGETLIBS) $(UIPDRIVERS)
|
$(TARGETLIBS) $(UIPDRIVERS)
|
||||||
|
|
||||||
@ -41,10 +43,12 @@ STRIP = avr-strip
|
|||||||
CFLAGSNO = -I. -I$(CONTIKI)/core -I$(CONTIKI_CPU) \
|
CFLAGSNO = -I. -I$(CONTIKI)/core -I$(CONTIKI_CPU) \
|
||||||
-I$(CONTIKI)/platform/$(TARGET) \
|
-I$(CONTIKI)/platform/$(TARGET) \
|
||||||
${addprefix -I,$(APPDIRS)} \
|
${addprefix -I,$(APPDIRS)} \
|
||||||
-DWITH_UIP -DWITH_ASCII \
|
-Wall -mmcu=$(MCU) -gstabs
|
||||||
-Wall -mmcu=$(MCU) -g
|
|
||||||
CFLAGS = $(CFLAGSNO) -Os
|
CFLAGS = $(CFLAGSNO) -Os
|
||||||
LDFLAGS = -mmcu=$(MCU) -Wl,-Map=contiki-$(TARGET).map
|
BOOTLOADER_START = 0x1e000
|
||||||
|
LDFLAGS = -mmcu=$(MCU) -Wl,-Map=contiki-$(TARGET).map \
|
||||||
|
-Wl,--section-start=.bootloader=$(BOOTLOADER_START)
|
||||||
|
|
||||||
|
|
||||||
### Setup directory search path for source files
|
### Setup directory search path for source files
|
||||||
|
|
||||||
@ -63,21 +67,42 @@ $(OBJECTDIR)/%.o: %.c
|
|||||||
%.o: %.c
|
%.o: %.c
|
||||||
$(CC) $(CFLAGS) -c $< -o $@
|
$(CC) $(CFLAGS) -c $< -o $@
|
||||||
|
|
||||||
%.firmware: %.co $(PROJECT_OBJECTFILES) contiki-$(TARGET).a
|
%.ko: %.o
|
||||||
|
$(STRIP) -K _init -K _fini --strip-unneeded -g -x $< -o $@
|
||||||
|
|
||||||
|
%.elf: %.co $(PROJECT_OBJECTFILES) contiki-$(TARGET).a
|
||||||
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(filter-out %.a,$^) $(filter %.a,$^) $(LDLIBS)
|
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(filter-out %.a,$^) $(filter %.a,$^) $(LDLIBS)
|
||||||
%.ihex: %.firmware
|
|
||||||
|
%.hex: %.out
|
||||||
$(OBJCOPY) $^ -O ihex $@
|
$(OBJCOPY) $^ -O ihex $@
|
||||||
|
|
||||||
|
# Add a namelist to the kernel
|
||||||
|
%.out: %.co $(PROJECT_OBJECTFILES) contiki-$(TARGET).a
|
||||||
|
$(CONTIKI)/tools/make-empty-symbols
|
||||||
|
$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^ $(LIBC) symbols.c
|
||||||
|
$(CONTIKI)/tools/avr-make-symbols $@
|
||||||
|
$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^ $(LIBC) symbols.c
|
||||||
|
$(CONTIKI)/tools/avr-make-symbols $@
|
||||||
|
$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $^ $(LIBC) symbols.c
|
||||||
|
|
||||||
|
#%.hex: %.elf
|
||||||
|
# $(OBJCOPY) -R .eeprom $^ -O ihex $@
|
||||||
|
|
||||||
|
%.eep: %.out
|
||||||
|
-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
|
||||||
|
--change-section-lma .eeprom=0 -O ihex $^ $@
|
||||||
|
|
||||||
|
|
||||||
%-stripped.o: %.c
|
%-stripped.o: %.c
|
||||||
$(CC) $(CFLAGS) -c $< -o $@
|
$(CC) $(CFLAGS) -c $< -o $@
|
||||||
$(STRIP) --strip-unneeded -g -x $@
|
$(STRIP) --strip-unneeded -g -x $@
|
||||||
|
|
||||||
%.ce: %.c
|
#%.ce: %.c
|
||||||
$(CC) $(CFLAGS) -DPROCESS_LOADABLE -c $< -o $@
|
# $(CC) $(CFLAGS) -DPROCESS_LOADABLE -c $< -o $@
|
||||||
$(STRIP) --strip-unneeded -g -x $@
|
$(STRIP) --strip-unneeded -g -x $@
|
||||||
|
|
||||||
%.ce: #%.co
|
%.ce: %.co
|
||||||
$(LD) -i -r --unresolved-symbols=ignore-in-object-files -mavrx149 -o $@ $^
|
$(LD) -i -r --unresolved-symbols=ignore-in-object-files -mavr5 -o $@ $^
|
||||||
$(STRIP) --strip-unneeded -g -x $@
|
$(STRIP) --strip-unneeded -g -x $@
|
||||||
|
|
||||||
%.co: %.c
|
%.co: %.c
|
||||||
@ -92,6 +117,10 @@ $(OBJECTDIR)/%.o: %.c
|
|||||||
%.srec: %.$(TARGET)
|
%.srec: %.$(TARGET)
|
||||||
$(OBJCOPY) -O srec $< $@
|
$(OBJCOPY) -O srec $< $@
|
||||||
|
|
||||||
|
### Upload image
|
||||||
|
%.u: %.hex
|
||||||
|
avrdude ${AVRDUDE_OPTIONS} -P ${AVRDUDE_PORT} -c ${AVRDUDE_PROGRAMMER} -p ${MCU} -U flash:w:$<
|
||||||
|
|
||||||
.PHONY: symbols.c
|
.PHONY: symbols.c
|
||||||
symbols.c:
|
symbols.c:
|
||||||
${CONTIKI}/tools/avr-make-symbols core.firmware > symbols.c
|
${CONTIKI}/tools/avr-make-symbols core.firmware > symbols.c
|
||||||
|
Loading…
Reference in New Issue
Block a user