Message Integrity Checking
[uccvend-snackrom.git] / ROM2 / Makefile
index 17694c0..49c8f89 100644 (file)
@@ -3,15 +3,15 @@
 OBJS = \
        motors.o keypad.o display_basic.o coinmech.o chime.o \
        helpers.o main_basic.o sci.o \
-       vectors.o start.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
-
 # debugging doesn't get compiled into the ROM image
 CFLAGS = -m68hc11 -mshort -Wall -O1 \
-       -msoft-reg-count=0 -ffixed-z -g -fomit-frame-pointer
+       -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 \
@@ -37,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
@@ -52,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
@@ -67,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

UCC git Repository :: git.ucc.asn.au