From f0d941bef6a9b6e3af78cfc68e1f82d6b47ccb2f Mon Sep 17 00:00:00 2001 From: fishsoupisgood Date: Tue, 26 May 2020 14:33:34 +0100 Subject: happy --- stm32/app/Makefile | 132 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 stm32/app/Makefile (limited to 'stm32/app/Makefile') diff --git a/stm32/app/Makefile b/stm32/app/Makefile new file mode 100644 index 0000000..d4a4f5b --- /dev/null +++ b/stm32/app/Makefile @@ -0,0 +1,132 @@ +## +## 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=boiler + +CSRCS=main.c ot.c ot_phy_rx.c ot_phy_tx.c led.c ticker.c usart.c ring.c stdio.c util.c commit.c cmd.c pic.c 1wire.c temp.c ds1820.c pressure.c adc.c +HSRCS=pins.h project.h ring.h + +EXTRACLEANS=*.orig scmversion commit.h + + + + +TARGET=10.32.96.18 +#TARGET2=10.32.96.107 + +#soup: ${PROG}.hex +# rsync -vaP ${PROG}.hex ${TARGET2}:/tmp/boiler.hex +# RV=$$(arm-none-eabi-objdump --disassemble=reset_handler ${PROG}.elf | awk '/^0/ { print "0x"$$1 }') && \ +# ssh ${TARGET2} "$(OOCD) -f $(OOCD_INTERFACE) \ +# -f $(OOCD_BOARD) \ +# -c init -c \"reset init\" \ +# -c \"flash write_image erase /tmp/boiler.hex\" \ +# -c \"reset halt\" \ +# -c \"resume $${RV}\" \ +# -c shutdown" $(NULL) && \ +# echo reset_handler is at $${RV} +# + + + +V=1 +default: ${PROG}.fw.bin + rsync -vaP ${PROG}.fw.bin ${TARGET}:/tmp/boiler.fw + ssh ${TARGET} /etc/stm32/startup /tmp/boiler.fw + + +install: ${PROG}.fw.bin + rsync -vaP ${PROG}.fw.bin ${TARGET}:/etc/stm32/boiler.fw + + +128k_of_ff.bin: + dd if=/dev/zero bs=128k count=1 | tr '\0' '\377' > $@ + + +${PROG}.fw.bin:${PROG}.bin 128k_of_ff.bin + cat ${PROG}.bin 128k_of_ff.bin | dd of=$@ bs=128k iflag=fullblock count=1 + + +program: ${PROG}.elf + echo halt | nc -t localhost 4444 + echo flash write_image erase ${PWD}/$< 0x2000 | nc -t localhost 4444 + echo reset halt | nc -t localhost 4444 + RV=$$(arm-none-eabi-objdump --disassemble=reset_handler $< | awk '/^0/ { print "0x"$$1 }') && \ + echo resume $${RV} | nc -t localhost 4444 && \ + echo reset vector at $${RV} + +run:${PROG}.run + +%.run: %.hex + RV=$$(arm-none-eabi-objdump --disassemble=reset_handler $(*).elf | awk '/^0/ { print "0x"$$1 }') && \ + $(Q)$(OOCD) -f $(OOCD_INTERFACE) \ + -f $(OOCD_BOARD) \ + -c "init" -c "reset init" \ + -c "flash write_image erase $(*).hex" \ + -c "reset halt" \ + -c "resume $${RV}" \ + -c "shutdown" $(NULL) && \ + echo reset_handler is at $${RV} + + + + +BINARY = ${PROG} +OBJS = ${CSRCS:%.c=%.o} + +include ../Makefile.include + +CFLAGS+=-Wno-redundant-decls -Wno-unused-parameter -DDEBUG + +INCLUDES += -I.. + +protos: + echo -n > prototypes.h + ${CPROTO} $(INCLUDES) $(DEFINES) -e -v ${CSRCS} > prototypes.h.tmp + mv -f prototypes.h.tmp prototypes.h + +server: + $(OOCD) -f $(OOCD_INTERFACE) \ + -f $(OOCD_BOARD) + +debug: ${PROG}.elf + ${PREFIX}-gdb -x gdb.script ${PROG}.elf + +tidy: + astyle -A3 -s2 --attach-extern-c -L -c -w -Y -m0 -f -p -H -U -k3 -xj -xd ${CSRCS} ${HSRCS} + +HEAD_REF = $(shell git rev-parse --verify --short HEAD) +SCM_DIRTY = $(shell if ! git diff-index --quiet HEAD --; then echo "+dirty"; fi) +SCMVERSION = ${HEAD_REF}${SCM_DIRTY} + +scmversion: + echo -n ${SCMVERSION} > $@ + +.PHONY: scmversion + +commit.o: commit.h + +commit.h: scmversion + echo -n '#define COMMIT_ID "' > $@ + echo -n `cat scmversion` >> $@ + echo '"' >> $@ + + + -- cgit v1.2.3