## ## This file is part of the libopencm3 project. ## ## Copyright (C) 2009 Uwe Hermann ## ## This library is free software: you can redistribute it and/or modify ## it under the terms of the GNU Lesser General Public License as published by ## the Free Software Foundation, either version 3 of the License, or ## (at your option) any later version. ## ## This library is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU Lesser General Public License for more details. ## ## You should have received a copy of the GNU Lesser General Public License ## along with this library. If not, see . ## CPROTO=cproto PROG=clockv2 LDSCRIPT = ${PROG}.ld V=1 default: ${PROG}.elf CSRCS=led.c ticker.c ring.c usart.c stdio.c lwip_glue.c steth.c msf.c abs.c \ pll.c main.c time_fn.c ntp.c dcf77.c util.c stats.c gps.c hexdump.c bits.c \ max7219.c report.c sysclk.c cdcacm.c usb.c dfu.c adc.c dummy_kb.c ref.c \ ptp.c display.c httpd.c alarm.c meteotime.c ephemeris.c fp.c HSRCS= events.h gps.h project.h ring.h steth.h time_fn.h ubx.h LWIP=lwip/lwip-2.1.2 LWIP_PATH=.. VPATH=${LWIP_PATH} LWIP_API= \ ${LWIPDIR}/api/err.c LWIP_APPS= \ $(LWIPDIR)/apps/http/fs.c \ $(LWIPDIR)/apps/http/httpd.c \ $(MDNSFILES) # $(LWIPDIR)/apps/http/http_client.c \ # # ${LWIP}/src/api/err.c ${LWIP}/src/api/netdb.c ${LWIP}/src/api/api_msg.c \ ${LWIP}/src/api/tcpip.c ${LWIP}/src/api/sockets.c ${LWIP}/src/api/api_lib.c \ ${LWIP}/src/api/netbuf.c ${LWIP}/src/api/netifapi.c LWIPDIR=${LWIP}/src include ${LWIP_PATH}/${LWIPDIR}/Filelists.mk LWIP_CORE= ${COREFILES} ${CORE4FILES} ${NETIFFILES} DEFINES= LWIP_INC=${LWIP_PATH}/${LWIP} LWIP_LOCAL=${LWIP_PATH}/lwip/lwip-local LWIP_CSRCS=${LWIP_API} ${LWIP_CORE} ${LWIP_APPS} EXTRA_CLEAN=${LWIP} BINARY = ${PROG} MYOBJS = ${CSRCS:%.c=%.o} LWIP_OBJS = ${LWIP_CSRCS:%.c=%.o} objs:${OBJS} ${MYOBJS}: project.h prototypes.h ${LWIP_OBJS}: lwip/lwipopts.h OBJS=${MYOBJS} ${LWIP_OBJS} include ../Makefile.include CFLAGS+=-Wno-redundant-decls -Wno-unused-parameter CPPFLAGS+= -I.. -I. -I../libopencm3-local -Ilwip \ -I${LWIP_PATH}/${LWIP}/src/include \ -I${LWIP_PATH}/${LWIP}/src/include/ipv4 \ -I${LWIP_LOCAL}/port/stm32f4x7 LDLIBS+= -lm fish: ${OBJS} echo ${OBJS} HOST=clock-lnx #HOST=10.32.91.140 #HOST=tick reset: $(Q)$(OOCD) -f ../oocd/interface/$(OOCD_INTERFACE).cfg \ -f ../oocd/board/$(OOCD_BOARD).cfg \ -c "init" -c "reset run" \ -c shutdown fl: ${PROG}.hex ssh ${HOST} flash_stm32 < ${PROG}.hex %.bin: %.elf $(Q)$(OBJCOPY) -Obinary $(*).elf $(*).bin %.dfu:%.bin ../tools/dfuse-pack.py -D 0x483:0xff03 -b 0x08004000:$< $@ dfu:${PROG}.bin dfu-util -R -a 0 -d 0483:ff03,0483:df11 -s 0x08004000:leave -D $< program: ${PROG}.hex scp $< ${HOST}:/tmp/img.hex echo init | nc -t ${HOST} 4444 echo reset init | nc -t ${HOST} 4444 echo flash write_image erase /tmp/img.hex | nc -t ${HOST} 4444 echo reset run | nc -t ${HOST} 4444 ds: $(Q)$(OOCD) -f ../oocd/interface/$(OOCD_INTERFACE).cfg \ -f ../oocd/board/$(OOCD_BOARD).cfg debug: ${PROG}.elf ${PREFIX}-gdb -x gdb.script ${PROG}.elf debugfl: ${PROG}.elf ${PREFIX}-gdb -x gdbfl.script ${PROG}.elf # openocd protos: ${CSRCS} echo -n > prototypes.h ${CPROTO} -E "${CPP} ${CPPFLAGS}" -D_Noreturn= -e -v ${CSRCS} > prototypes.h.tmp mv -f prototypes.h.tmp prototypes.h almanac.txt: wget -O $@ 'https://navcen.uscg.gov/?pageName=currentAlmanac&format=yuma' almanac.h:alamanc.txt parse_alamanc.pl ./parse_alamanc.pl < almanac.txt > $@ || /bin/rm -f $@ almanac.alp: almanac almanac: wget -O almanac.alp http://alp.u-blox.com/current_7d.alp EXTRA_CLEAN=${OBJS} ${LWIP_OBJS:%.o=%.d} almanac.c *.orig tidy: astyle -A3 -s2 --attach-extern-c -L -c -w -Y -m0 -f -p -H -U -k3 -xj -xd ${CSRCS} ${HSRCS} slog: sympathy -d /dev/ttyUSB7 -b 38400 -L ../log -w 132x59 -s