source: trunk/FirmwareFX2/Makefile@ 90

Last change on this file since 90 was 20, checked in by demin, 15 years ago

rename hw_fynu to hw_basic

File size: 2.7 KB
Line 
1#-----------------------------------------------------------------------------
2# Makefile for usb_jtag FX2 firmware
3#-----------------------------------------------------------------------------
4# Copyright 2007 Kolja Waschk, ixo.de
5#-----------------------------------------------------------------------------
6# This code is part of usbjtag. usbjtag is free software; you can redistribute
7# it and/or modify it under the terms of the GNU General Public License as
8# published by the Free Software Foundation; either version 2 of the License,
9# or (at your option) any later version. usbjtag is distributed in the hope
10# that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
11# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12# GNU General Public License for more details. You should have received a
13# copy of the GNU General Public License along with this program in the file
14# COPYING; if not, write to the Free Software Foundation, Inc., 51 Franklin
15# St, Fifth Floor, Boston, MA 02110-1301 USA
16#-----------------------------------------------------------------------------
17
18LIBDIR=fx2
19LIB=libfx2.lib
20
21ifeq (${HARDWARE},)
22 HARDWARE=hw_basic
23endif
24
25CC=sdcc
26CFLAGS+=-mmcs51 --no-xinit-opt -I${LIBDIR} -D${HARDWARE}
27CFLAGS+=--opt-code-size
28
29# added by bram
30CFLAGS+=--stack-auto
31
32
33AS=asx8051
34ASFLAGS+=-plosgff
35
36LDFLAGS=--code-loc 0x0000 --code-size 0x1800
37LDFLAGS+=--xram-loc 0x1800 --xram-size 0x0800
38LDFLAGS+=-Wl '-b USBDESCSEG = 0xE100'
39LDFLAGS+=-L ${LIBDIR}
40
41%.rel : %.a51
42 $(AS) $(ASFLAGS) $<
43
44%.rel : %.c
45 $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
46
47default: usbjtag.hex
48
49usbjtag.hex: vectors.rel spi.rel usbjtag.rel dscr.rel eeprom.rel ${HARDWARE}.rel startup.rel ${LIBDIR}/${LIB}
50 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $+
51 packihx $@ > .tmp.hex
52 rm $@
53 mv .tmp.hex $@
54
55${LIBDIR}/${LIB}:
56 make -C ${LIBDIR}
57
58.PHONY: boot
59boot: usbjtag.hex
60 -test -e /dev/usb_jtag && /sbin/fxload -D /dev/usb_jtag -I usbjtag.hex -t fx2
61 -test -e /dev/tracii_xl2 && /sbin/fxload -D /dev/tracii_xl2 -I usbjtag.hex -t fx2
62 -test -e /dev/xilinx_xpcu && /sbin/fxload -D /dev/xilinx_xpcu -I usbjtag.hex -t fx2
63
64REF=/home/kawk/work/xilinx/xtern/xusbdfwu/xusbdfwu-1025.hex
65
66.PHONY: ref
67ref:
68 -test -e /dev/usb_jtag && /sbin/fxload -D /dev/usb_jtag -I ${REF} -t fx2
69 -test -e /dev/tracii_xl2 && /sbin/fxload -D /dev/tracii_xl2 -I ${REF} -t fx2
70 -test -e /dev/xilinx_xpcu && /sbin/fxload -D /dev/xilinx_xpcu -I ${REF} -t fx2
71
72dscr.rel: dscr.a51
73eeprom.rel: eeprom.c eeprom.h
74usbjtag.rel: usbjtag.c hardware.h eeprom.h
75${HARDWARE}.rel: ${HARDWARE}.c hardware.h
76
77.PHONY: clean distclean
78
79clean:
80 make -C ${LIBDIR} clean
81 rm -f *.lst *.asm *.lib *.sym *.rel *.mem *.map *.rst *.lnk *.hex
82
83distclean: clean
84
85
86
Note: See TracBrowser for help on using the repository browser.