summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2018-03-16 14:50:29 -0700
committerKeith Packard <keithp@keithp.com>2018-03-16 14:50:29 -0700
commit7068149704e6de67ece670227445e987421cd600 (patch)
tree3882dbf416203ef091ecc8b4a35a46bac578a273 /src
parent46d8197bb80ce3fe4cdc7b36c3be211366093bd5 (diff)
chaoskey: Create unified ROM image with both loader and app
Flash the whole thing all at once to reduce the number of steps during turnon. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src')
-rw-r--r--src/chaoskey-v1.0/Makefile9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/chaoskey-v1.0/Makefile b/src/chaoskey-v1.0/Makefile
index f2c168ba..dea5b483 100644
--- a/src/chaoskey-v1.0/Makefile
+++ b/src/chaoskey-v1.0/Makefile
@@ -51,12 +51,13 @@ CFLAGS = $(PRODUCT_DEF) $(STMF0_CFLAGS) -g -Os
PROGNAME=chaoskey-v1.0
PROG=$(PROGNAME)-$(VERSION).elf
HEX=$(PROGNAME)-$(VERSION).ihx
+BIN=$(PROGNAME)-all-$(VERSION).bin
METAINFO=org.altusmetrum.ChaosKey.metainfo.xml
SRC=$(ALTOS_SRC) ao_chaoskey.c
OBJ=$(SRC:.c=.o)
-all: $(PROG) $(HEX)
+all: $(PROG) $(HEX) $(BIN)
$(PROG): Makefile $(OBJ) altos.ld
$(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(LIBS)
@@ -66,6 +67,12 @@ ao_product.h: ao-make-product.5c ../Version
$(OBJ): $(INC)
+$(BIN): $(PROG) $(LOADER)
+ $(MAKEBIN) --output=$@ --base=$(FLASH_ADDR) $(LOADER) $(PROG)
+
+$(LOADER):
+ +cd flash-loader && make
+
%.cab: $(PROG) $(HEX) $(METAINFO)
gcab --create --nopath $@ $(PROG) $(HEX) $(METAINFO)