--- /dev/null
+#include "cfg.h"
+
+#if USE_APPSTACK
+ .extern AppStack
+ .extern Cstart
+ .global start
+
+ /* Set stack pointer to end of AppStack and jump to Cstart:
+ */
+start:
+ mvhi sp, hi(AppStack + APPSTACKSIZE - 4)
+ ori sp, sp, lo(AppStack + APPSTACKSIZE -4)
+
+jump_to_c:
+ bi Cstart
+#endif
#if CLOCK_MS
#error: Gotta write clock_time for 68K.
#endif
+#elif CPU_IS_LM32
+#if CLOCK_MS
+#error: Gotta write clock_time for LM32.
+#endif
#else
#error: Invalid CPU specification.
#endif
ENDIANNESS = -D BYTE_ORDER=LITTLE_ENDIAN
endif
+ifeq ($(PORT),MILKYMIST)
+ARCH = LM32
+MONCOMPTR = 0x00000134
+APPRAMBASE = 0x40146000
+TARGET_IP = 172.16.0.1
+CLOCK_MS = 0
+ENDIANNESS = -D BYTE_ORDER=BIG_ENDIAN
+endif
+
#########################################################################
LIBGCC = /usr/lib/gcc-lib/m68k-elf/3.2/m5200/libgcc.a -L /usr/m68k-elf/lib/m5200
endif
+ifeq ($(ARCH),LM32)
+TOOL_PREFIX := lm32-elf
+CFLAGS := -Wall -fno-builtin -mbarrel-shift-enabled -mmultiply-enabled -mdivide-enabled -msign-extend-enabled -g -c \
+ $(INCPATHS) $(ENDIANNESS)
+CRT0 := crt0_lm32.o
+CPU := -D CPU_IS_LM32=1
+endif
+
BASE_OBJS=$(CRT0) main.o console.o monlib.o
#
crt0_sh2.o: crt0_sh2.S
$(CC) $(CFLAGS) -D USE_APPSTACK=$(USEAPPSTACK) -o $@ crt0_sh2.S
+crt0_lm32.o: crt0_lm32.S
+ $(CC) $(CFLAGS) -D USE_APPSTACK=$(USEAPPSTACK) -o $@ crt0_lm32.S
+
main.o: main.c
$(CC) $(CFLAGS) $(CPU) -o $@ \
-D USE_APPSTACK=$(USEAPPSTACK) -D MONCOMPTR=$(MONCOMPTR) \