X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=ROM2%2FMakefile;h=49c8f89e88999e9fc99cc92b31db6f7000625ce7;hb=24f4e50d8f5671b40d2662bbcd50e3859bcd5205;hp=c75177c7d19c2b565811ad3e4951395c7a914b4e;hpb=35d3d7f73fa94eb2418a8be2995252e1f3b8441a;p=uccvend-snackrom.git diff --git a/ROM2/Makefile b/ROM2/Makefile index c75177c..49c8f89 100644 --- a/ROM2/Makefile +++ b/ROM2/Makefile @@ -2,15 +2,16 @@ OBJS = \ motors.o keypad.o display_basic.o coinmech.o chime.o \ - helpers.o main_basic.o comm.o \ - vectors.o start.o + helpers.o main_basic.o sci.o \ + vectors.o start.o romsrc.o xmodem.o mic.o INCLUDES = vend.h keypad.h chime.h asm.h display_basic.h ports.h types.h - -CFLAGS = -O3 -m68hc11 -mshort -Wall -Os \ - -msoft-reg-count=0 -ffixed-z +# debugging doesn't get compiled into the ROM image +CFLAGS = -m68hc11 -mshort -Wall -O1 \ + -msoft-reg-count=0 -ffixed-z -g #-fomit-frame-pointer LDFLAGS = -m68hc11 -mshort -Wl,-m,m68hc11elfb \ -nostartfiles \ + -Wl,-defsym,_nvram=0x0800 \ -Wl,-defsym,_io_ports=0x1000 \ -Wl,-defsym,_switch_input=0x1800 \ -Wl,-defsym,_misc_input=0x2000 \ @@ -36,11 +37,13 @@ LD = $(DEVC_PREFIX)ld all: rom2.b rom2.elf rom2.s19 -rom2.elf: $(OBJS) memory.x +rom2.elf: $(OBJS) memory.x check-romsrc.pl $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBADD) + $(SIZE) $@ + @perl -w check-romsrc.pl clean: - rm -f *.o *.elf *.s19 *.b *.a + rm -f *.o *.elf *.s19 *.b *.a rom.tar.bz2 romsrc.s crctab.h m68hc11-gdb gencrctab # # Some useful rules @@ -51,6 +54,20 @@ dump: rom2.elf size: rom2.s19 $(SIZE) $< +rom.tar.bz2: + rm -f romsrc.s crctab.h + tar cjf rom.tar.bz2 README Makefile gdbsimrc *.pl *.c *.h *.s *.x + +romsrc.s: rom.tar.bz2 src2asm.pl + perl -w src2asm.pl < $< > $@ + +xmodem.c: crctab.h + +gencrctab: gencrctab.c + gcc -o $@ $< + +crctab.h: gencrctab + ./gencrctab > $@ # # Implicit rules @@ -66,5 +83,12 @@ size: rom2.s19 .elf.b: $(OBJCOPY) --output-target=binary --gap-fill=255 \ - --only-section=.data $(OBJCOPY_FLAGS) $< $*.b - + $(OBJCOPY_FLAGS) $< $*.b + @perl -e '$$sum = 0;while(read STDIN, $$a, 1){$$sum += ord($$a); $$sum = $$sum&0xffff;} printf "Checksum is \%x\n", $$sum' < $@ + +m68hc11-gdb: /usr/bin/m68hc11-gdb + sed -e 's|m68hc11eepr/reg 0xb000 512|m68hc11eepr/reg 0x4000 1 |' < $< > $@ + chmod 755 $@ + +sim: m68hc11-gdb rom2.elf + ./m68hc11-gdb -x gdbsimrc rom2.elf