X-Git-Url: http://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blobdiff_plain;f=fx2lib%2Flib%2Ffx2.mk;fp=fx2lib%2Flib%2Ffx2.mk;h=0000000000000000000000000000000000000000;hp=b001b932a82519d705d9d54ab08ce9d48d385698;hb=36074319ac7c80ac0d80334b8664d0bd8e6dee90;hpb=2b421d0ecf9ec717a6864da01a071d3c9bfeec7e diff --git a/fx2lib/lib/fx2.mk b/fx2lib/lib/fx2.mk deleted file mode 100644 index b001b932..00000000 --- a/fx2lib/lib/fx2.mk +++ /dev/null @@ -1,115 +0,0 @@ -# common make targets for compiling fx2 firmware -# -# In your Makefile, define: -# SOURCES: list of c files to compile -# A51_SOURCES: list of any a51 files. -# DEPS: list of any depedancies (like auto-generated header files) that need -# generated prior to compiling. You must provide the target definition -# for any DEPS you define. -# BASENAME: name of your firmware file, i.e., myfirmware, but not myfirmware.c -# -# Leave these alone or redefine as necessary to customize firmware. -# (Redefine after including this makefile) -# VID vendor id -# PID product id -# LIBS optional additional libraries to link with the firmware. -# SDCC build/link options -# CODE_SIZE: Default --code-size 0x3c00 -# XRAM_SIZE: Default --xram-size 0x0200 -# XRAM_LOC: Default --xram-loc 0x3c00 -# BUILDDIR: build directory (default build) -# These two can be changed to be blank if no device descriptor is being used. -# DSCR_AREA: Default -Wl"-b DSCR_AREA=0x3e00" -# INT2JT: Default -Wl"-b INT2JT=0x3f00" -# -# Provided targets: -# -# default target: creates $(BASENAME).ihx -# bix: creates $(BASENAME).bix -# iic: creates $(BASENAME).iic -# load: uses fx2load to load firmware.bix onto the development board -# (You can customize VID/PID if you need to load the firmware onto a device that has different vendor and product id -# The default is 0x04b4, 0x8613 -# clean: delete all the temp files. -# -# -# - -# The sdcc 8051 assembler binary has/had different names. -ifneq ($(shell which sdas8051 2>/dev/null),) -# Newer sdcc, Debian / Ubuntu -SDAS8051 = sdas8051 -endif -ifneq ($(shell which sdcc-sdas8051 2>/dev/null),) -# Newer sdcc, Fedora -SDAS8051 = sdcc-sdas8051 -endif -ifneq ($(shell which asx8051 2>/dev/null),) -# Older sdcc -SDAS8051 = asx8051 -endif - -VID?=0x04b4 -PID?=0x8613 - -DSCR_AREA?=-Wl"-b DSCR_AREA=0x3e00" -INT2JT?=-Wl"-b INT2JT=0x3f00" -CODE_SIZE?=--code-size 0x3c00 -XRAM_SIZE?=--xram-size 0x0200 -XRAM_LOC?=--xram-loc 0x3c00 -BUILDDIR?=build - -FX2LIBDIR?=$(dir $(lastword $(MAKEFILE_LIST)))../ - -RELS=$(addprefix $(BUILDDIR)/, $(addsuffix .rel, $(notdir $(basename $(SOURCES) $(A51_SOURCES))))) -# these are pretty good settings for most firmwares. -# Have to be careful with memory locations for -# firmwares that require more xram etc. -CC = sdcc -mmcs51 \ - $(SDCCFLAGS) \ - $(CODE_SIZE) \ - $(XRAM_SIZE) \ - $(XRAM_LOC) \ - $(DSCR_AREA) \ - $(INT2JT) - - -.PHONY: ihx iic bix load clean clean-all - - -ihx: $(BUILDDIR)/$(BASENAME).ihx -bix: $(BUILDDIR)/$(BASENAME).bix -iic: $(BUILDDIR)/$(BASENAME).iic - -$(FX2LIBDIR)/lib/fx2.lib: $(FX2LIBDIR)/lib/*.c $(FX2LIBDIR)/lib/*.a51 - $(MAKE) -C $(FX2LIBDIR)/lib - -$(BUILDDIR): - mkdir -p $(BUILDDIR) - -$(BUILDDIR)/$(BASENAME).ihx: $(BUILDDIR) $(SOURCES) $(A51_SOURCES) $(FX2LIBDIR)/lib/fx2.lib $(DEPS) -# can't use default target %.rel because there is no way -# to differentiate the dependency. (Is it %.rel: %.c or %.a51) - for a in $(A51_SOURCES); do \ - cp $$a $(BUILDDIR)/; \ - cd $(BUILDDIR) && $(SDAS8051) -logs `basename $$a` && cd ..; done - for s in $(SOURCES); do \ - THISREL=$$(basename `echo "$$s" | sed -e 's/\.c$$/\.rel/'`); \ - $(CC) -c -I $(FX2LIBDIR)/include $$s -o $(BUILDDIR)/$$THISREL ; done - $(CC) -o $@ $(RELS) fx2.lib -L $(FX2LIBDIR)/lib $(LIBS) - - -$(BUILDDIR)/$(BASENAME).bix: $(BUILDDIR)/$(BASENAME).ihx - objcopy -I ihex -O binary $< $@ -$(BUILDDIR)/$(BASENAME).iic: $(BUILDDIR)/$(BASENAME).ihx - $(FX2LIBDIR)/utils/ihx2iic.py -v $(VID) -p $(PID) $< $@ - -load: $(BUILDDIR)/$(BASENAME).bix - fx2load -v $(VID) -p $(PID) $(BUILDDIR)/$(BASENAME).bix - -clean: - rm -f $(BUILDDIR)/*.{asm,ihx,lnk,lst,map,mem,rel,rst,sym,adb,cdb,bix} - -clean-all: clean - $(MAKE) -C $(FX2LIBDIR)/lib clean -