123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- #
- # Makefile for FraiseBootloader
- # to build MyBoard.hex :
- # export BOARD=MyBoard ; make
- MAINFRAISE=../..
- SDCC_SHARE=$(MAINFRAISE)/bin/share
- SDCC=$(MAINFRAISE)/bin/linux/sdcc
- CC=$(SDCC)
- PK2CMD= pk2cmd
- SHELL=/bin/bash
- # SDCC_SHARE=$(MY_BASE)/share/sdcc
- # SDCC=$(MY_BASE)/bin/sdcc
- # CC=$(SDCC)
- # DIS = gpdasm
- # FSUSB = fsusb
- # PICP=picp
- # PK2CMD= pk2cmd
- # SHELL=/bin/bash
- BOARDSDIR=$(MAINFRAISE)/boards
- BOARDDIR=$(BOARDSDIR)/$(BOARD)
- BOARDMAKEFILE=$(BOARDDIR)/board.Makefile
- BLD_START=`echo print "$(MEM_SIZE)-(32*64)" | python`
- include $(BOARDMAKEFILE)
- ifndef APP_START
- APP_START = 0
- endif
- SRCS= ./src/fbld.c $(BOARDDIR)/boardconfig.c
- OBJS = $(SRCS:%.c=%.o)
- ASMS = $(SRCS:%.c=%.asm)
- LSTS = $(SRCS:%.c=%.lst)
- CODS = $(SRCS:%.c=%.cod)
- OPTS = --ivt-loc=$(BLD_START) --no-crt
- #--model-small --vc --denable-peeps --optimize-goto --optimize-cmp --optimize-df --obanksel=9 --opt-code-size --fommit-frame-pointer --std-sdcc99
- CFLAGS= -I. -I./lib -I$(SDCC_SHARE)/include/pic16 -I$(SDCC_SHARE)/non-free/include/pic16 $(OPTS) -mpic16 -p$(CHIP) \
- --vc --denable-peeps --optimize-cmp --optimize-df --obanksel=2 \
- --opt-code-speed --fomit-frame-pointer --use-non-free
- MACROS= -DFOSC=$(FOSC) -DBLD_START=$(BLD_START) -DAPP_START=$(APP_START) \
- -DUART_PORT=$(UART_PORT) -DSERDRV_PIN=$(SERDRV_PIN) \
- -DSERDRV_TRI=$(SERDRV_TRI) -DSERDRV_POL=$(SERDRV_POL) \
- -DCONFIG_SETUP=$(CONFIG_SETUP) -DBOOTLOADER
- #-I$(SDCC_SHARE)/non-free/include/pic16
- #LIBS= libsdcc.lib libc18f.lib libio$(CHIP).lib pic$(CHIP).lib
- LIBS= libsdcc.lib libc18f.lib
- #libio$(CHIP).lib
- # .SUFFIXES: .c .asm .o .hex
- HEXFILE= hex/$(BOARD).hex
- SUFFIXES= obj lst asm o
-
- all: clean $(HEXFILE)
- make clean
-
- $(BOARD): all
- $(BOARDMAKEFILE):
- @ echo no board declared
- $(OBJS): %.o: %.c Makefile $(BOARDMAKEFILE) src/eeprom.c
- @echo ---- Compile $@ ----
- $(CC) $(CFLAGS) $(MACROS) -c $< -o $@
- $(HEXFILE): ./src/fbld.c $(BOARDDIR)/boardconfig.o $(OBJS) $(BOARDMAKEFILE) Makefile
- @echo ---- Linking and building $@ ----
- $(CC) $(CFLAGS) $(MACROS) -L $(SDCC_SHARE)/lib/pic16 -L $(SDCC_SHARE)/non-free/lib/pic16 -o $(HEXFILE) $(OBJS) $(LIBS) -Wl"-s $(CHIP).lkr"
- # -O 1 -m -w
-
- disass:
- $(DIS) -p p$(CHIP) $(HEXFILE) > $(PROJ).lis
- progpicp: all
- # su root -c " $(FSUSB) --program $(PROJ).hex "
- $(FSUSB) --program $(HEXFILE)
- # $(PICP) /dev/ttyUSB0 $(CHIP) -ef -wp $(PROJ).hex -wc 0x0e20 0x001a 0x0500 0x0080 0xc00f 0xe00f 0x400f
- # 0x0400=CCP2 on RB3; 0x0500 on RC1
- # 0x0e24=quartz20MHz 0x0e20=4MHz
- progpk2:
- $(PK2CMD) -P -M -F$(HEXFILE)
- clean:
- rm -f $(foreach suf,$(SUFFIXES),$(BOARDSDIR)/*/*.$(suf)) src/*.o src/*.asm src/*.lst src/*.cod hex/*.cod hex/*.lst hex/*.asm
- # rm -f */*.o */*.asm */*.lst src/*.o src/*.asm src/*.lst src/*.cod hex/*.cod hex/*.lst hex/*.asm
|