From 7068149704e6de67ece670227445e987421cd600 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 16 Mar 2018 14:50:29 -0700 Subject: 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 --- src/chaoskey-v1.0/Makefile | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src') 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) -- cgit v1.2.3 From 4894d965d73231b5c74810d826c7c97fa1bd7803 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 16 Mar 2018 14:53:14 -0700 Subject: altos: Make panic beeps use fixed frequencies This ensures that the beeps will work even before the configuration has been loaded. Signed-off-by: Keith Packard --- src/kernel/ao_beep.h | 6 ++++++ src/kernel/ao_panic.c | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/kernel/ao_beep.h b/src/kernel/ao_beep.h index 085dd5b1..1306af62 100644 --- a/src/kernel/ao_beep.h +++ b/src/kernel/ao_beep.h @@ -42,9 +42,15 @@ #else #define AO_BEEP_MID AO_BEEP_MID_DEFAULT #endif + +#define AO_BEEP_MID_PANIC AO_BEEP_MID_DEFAULT + #define AO_BEEP_LOW AO_BEEP_MID * 150 / 94 /* 2500Hz */ #define AO_BEEP_HIGH AO_BEEP_MID * 75 / 94 /* 5000Hz */ +#define AO_BEEP_LOW_PANIC (AO_BEEP_MID_PANIC * 150 / 94) +#define AO_BEEP_HIGH_PANIC (AO_BEEP_MID_PANIC * 75 / 94) + #define AO_BEEP_OFF 0 /* off */ #define AO_BEEP_g 240 /* 1562.5Hz */ diff --git a/src/kernel/ao_panic.c b/src/kernel/ao_panic.c index 3feecd5a..bd55eb9c 100644 --- a/src/kernel/ao_panic.c +++ b/src/kernel/ao_panic.c @@ -64,9 +64,9 @@ ao_panic(uint8_t reason) ao_panic_delay(20); #if HAS_BEEP for (n = 0; n < 5; n++) { - ao_beep(AO_BEEP_HIGH); + ao_beep(AO_BEEP_HIGH_PANIC); ao_panic_delay(1); - ao_beep(AO_BEEP_LOW); + ao_beep(AO_BEEP_LOW_PANIC); ao_panic_delay(1); } ao_beep(AO_BEEP_OFF); @@ -78,7 +78,7 @@ ao_panic(uint8_t reason) #endif if (reason & 0x40) { ao_led_on(AO_LED_PANIC); - ao_beep(AO_BEEP_HIGH); + ao_beep(AO_BEEP_HIGH_PANIC); ao_panic_delay(40); ao_led_off(AO_LED_PANIC); ao_beep(AO_BEEP_OFF); @@ -86,7 +86,7 @@ ao_panic(uint8_t reason) } for (n = 0; n < (reason & 0x3f); n++) { ao_led_on(AO_LED_PANIC); - ao_beep(AO_BEEP_MID); + ao_beep(AO_BEEP_MID_PANIC); ao_panic_delay(10); ao_led_off(AO_LED_PANIC); ao_beep(AO_BEEP_OFF); -- cgit v1.2.3 From bd0021d431165a6c896a6022691a447e27fd555e Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 16 Mar 2018 14:54:04 -0700 Subject: altos/stmf0: Add some common definitions for flash loaders Signed-off-by: Keith Packard --- src/stmf0/Makefile.defs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/stmf0/Makefile.defs b/src/stmf0/Makefile.defs index 3da42874..a0aa558b 100644 --- a/src/stmf0/Makefile.defs +++ b/src/stmf0/Makefile.defs @@ -4,6 +4,10 @@ endif include $(TOPDIR)/stmf0/Makefile-stmf0.defs +LOADER=flash-loader/$(PROGNAME)-altos-flash-$(VERSION).elf +MAKEBIN=$(TOPDIR)/../ao-tools/ao-makebin/ao-makebin +FLASH_ADDR=0x08000000 + LDFLAGS=$(CFLAGS) -L$(TOPDIR)/stmf0 -Wl,-Taltos.ld -n .DEFAULT_GOAL=all -- cgit v1.2.3