diff --git a/cpu/6502/Makefile.6502 b/cpu/6502/Makefile.6502 index bcb787154..d7c94bbaa 100644 --- a/cpu/6502/Makefile.6502 +++ b/cpu/6502/Makefile.6502 @@ -21,11 +21,11 @@ AR = ar65 AFLAGS = -t $(TARGET) CFLAGS += -t $(TARGET) -Or --create-dep $(INCLUDES) -LDFLAGS = -t $(TARGET) +LDFLAGS = -C $(CONTIKI)/platform/$(TARGET)/linker.cfg -m $(TARGET).map AROPTS = a PROJECT_OBJECTFILES += $(OBJECTDIR)/contiki-main.o -CONTIKI_OBJECTFILES += $(OBJECTDIR)/lc-asm.o +CONTIKI_OBJECTFILES += $(OBJECTDIR)/lc-asm.o $(OBJECTDIR)/uip_arch.o TARGET_STARTFILES = $(TARGET).o TARGET_LIBFILES = $(TARGET).lib @@ -62,8 +62,8 @@ CUSTOM_RULE_C_TO_OBJECTDIR_D = 1 # Path Settings # ################# -INCLUDES = -I$(CONTIKI)/platform/$(TARGET) -I$(CONTIKI_CPU) -I$(CONTIKI)/core +INCLUDES = -I$(CONTIKI)/platform/$(TARGET) -I$(CONTIKI_CPU) -I$(CONTIKI)/core ${addprefix -I,$(APPDIRS)} -vpath %.c $(CONTIKI)/platform/$(TARGET) $(CONTIKIDIRS) +vpath %.c $(CONTIKI)/platform/$(TARGET) $(CONTIKI_CPU)/net $(CONTIKIDIRS) $(APPDIRS) vpath %.S $(CONTIKI_CPU)/sys diff --git a/platform/apple2enh/linker.cfg b/platform/apple2enh/linker.cfg new file mode 100644 index 000000000..13319fb0f --- /dev/null +++ b/platform/apple2enh/linker.cfg @@ -0,0 +1,42 @@ +# This file should be identical to the file '/doc/apple2.cfg' +# with one exception being the expanded RAM size. Therefore the +# binary needs to be loaded with the ProDOS 8 loader available at: +# ftp://ftp.musoftware.de/pub/uz/cc65/contrib/loader-1.2.zip + +FEATURES { + STARTADDRESS: default = $0800; +} +MEMORY { + ZP: start = $0080, size = $001A, define = yes; + HEADER: start = $0000, size = $0004, file = %O; + RAM: start = %S, size = $BF00 - %S, file = %O; # BF00 instead of 9600 +} +SEGMENTS { + EXEHDR: load = HEADER, type = ro; + STARTUP: load = RAM, type = ro, define = yes; + LOWCODE: load = RAM, type = ro, optional = yes; + INIT: load = RAM, type = ro, define = yes, optional = yes; + CODE: load = RAM, type = ro; + RODATA: load = RAM, type = ro; + DATA: load = RAM, type = rw; + BSS: load = RAM, type = bss, define = yes; + HEAP: load = RAM, type = bss, optional = yes; # must sit just below stack + ZEROPAGE: load = ZP, type = zp; +} +FEATURES { + CONDES: segment = INIT, + type = constructor, + label = __CONSTRUCTOR_TABLE__, + count = __CONSTRUCTOR_COUNT__; + CONDES: segment = RODATA, + type = destructor, + label = __DESTRUCTOR_TABLE__, + count = __DESTRUCTOR_COUNT__; + CONDES: type = interruptor, + segment = RODATA, + label = __INTERRUPTOR_TABLE__, + count = __INTERRUPTOR_COUNT__; +} +SYMBOLS { + __STACKSIZE__ = $800; # 2K stack +}