From abab6b154af66b3ce4ad112703cd098d709b588a Mon Sep 17 00:00:00 2001 From: Stefan `Sec` Zehl Date: Thu, 30 Jul 2015 00:06:55 +0200 Subject: [PATCH 1/4] Deal with the bigger flash we have on rad1o --- firmware/common/w25q80bv.c | 21 +++++++++------------ firmware/common/w25q80bv.h | 1 + 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/firmware/common/w25q80bv.c b/firmware/common/w25q80bv.c index 2b391d9d..38e55078 100644 --- a/firmware/common/w25q80bv.c +++ b/firmware/common/w25q80bv.c @@ -85,11 +85,10 @@ void w25q80bv_setup(void) SSP_MASTER, SSP_SLAVE_OUT_ENABLE); - device_id = 0; - while(device_id != W25Q80BV_DEVICE_ID_RES) - { + do { device_id = w25q80bv_get_device_id(); - } + } while(device_id != W25Q80BV_DEVICE_ID_RES && + device_id != W25Q16DV_DEVICE_ID_RES); } uint8_t w25q80bv_get_status(void) @@ -163,11 +162,10 @@ void w25q80bv_chip_erase(void) { uint8_t device_id; - device_id = 0; - while(device_id != W25Q80BV_DEVICE_ID_RES) - { + do { device_id = w25q80bv_get_device_id(); - } + } while(device_id != W25Q80BV_DEVICE_ID_RES && + device_id != W25Q16DV_DEVICE_ID_RES); w25q80bv_write_enable(); w25q80bv_wait_while_busy(); @@ -208,11 +206,10 @@ void w25q80bv_program(uint32_t addr, uint32_t len, const uint8_t* data) uint16_t first_block_len; uint8_t device_id; - device_id = 0; - while(device_id != W25Q80BV_DEVICE_ID_RES) - { + do { device_id = w25q80bv_get_device_id(); - } + } while(device_id != W25Q80BV_DEVICE_ID_RES && + device_id != W25Q16DV_DEVICE_ID_RES); /* do nothing if we would overflow the flash */ if ((len > W25Q80BV_NUM_BYTES) || (addr > W25Q80BV_NUM_BYTES) diff --git a/firmware/common/w25q80bv.h b/firmware/common/w25q80bv.h index b11a466a..1dbc9969 100644 --- a/firmware/common/w25q80bv.h +++ b/firmware/common/w25q80bv.h @@ -38,6 +38,7 @@ #define W25Q80BV_DEVICE_ID_RES 0x13 /* Expected device_id for W25Q80BV */ +#define W25Q16DV_DEVICE_ID_RES 0x14 /* Expected device_id for W25Q16DV */ typedef union { From b9f702da8f9869b6eb16354b02d710602765c83d Mon Sep 17 00:00:00 2001 From: Stefan `Sec` Zehl Date: Thu, 30 Jul 2015 01:31:13 +0200 Subject: [PATCH 2/4] Simple "build all" toplevel Makefile --- Makefile | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..2181bb34 --- /dev/null +++ b/Makefile @@ -0,0 +1,50 @@ +all: lib hackrf-usb hackrf-tools + +force: clean all + +ifeq ($(MAKECMDGOALS),rebuild) +FORCE=FORCE +rebuild: all +endif + +firmware/libopencm3/README: + git submodule init + +firmware/libopencm3/lib/libopencm3_lpc43xx.a: $(FORCE) + git submodule update + $(MAKE) -C firmware/libopencm3 + +lib: firmware/libopencm3/README firmware/libopencm3/lib/libopencm3_lpc43xx.a + +FDIR=firmware/hackrf_usb/build + +hackrf-usb: hackrf.bin + +hackrf.bin: $(FDIR)/hackrf_usb.bin + cp $< $@ + +$(FDIR)/hackrf_usb.bin: $(FDIR) $(FDIR)/Makefile $(FORCE) + $(MAKE) -C $(FDIR) + +$(FDIR)/Makefile: + cd $(FDIR) && cmake -DBOARD=RAD1O -DRUN_FROM=RAM .. + +$(FDIR): + mkdir $(FDIR) + +TDIR=host/build + +$(TDIR): + mkdir $(TDIR) + +hackrf-tools: $(TDIR) $(TDIR)/hackrf-tools/src/hackrf_info + +$(TDIR)/hackrf-tools/src/hackrf_info: $(FORCE) + cd $(TDIR) && cmake .. && $(MAKE) + + +clean: + $(RM) -r $(FDIR) $(TDIR) + $(MAKE) -C firmware/libopencm3 clean + +FORCE: From 6afe674de50ab6300d9559c86b4deae6aab86683 Mon Sep 17 00:00:00 2001 From: Stefan `Sec` Zehl Date: Tue, 11 Aug 2015 00:10:17 +0200 Subject: [PATCH 3/4] No longer copy the bin around --- Makefile | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 2181bb34..76dbd8e4 100644 --- a/Makefile +++ b/Makefile @@ -18,10 +18,7 @@ lib: firmware/libopencm3/README firmware/libopencm3/lib/libopencm3_lpc43xx.a FDIR=firmware/hackrf_usb/build -hackrf-usb: hackrf.bin - -hackrf.bin: $(FDIR)/hackrf_usb.bin - cp $< $@ +hackrf-usb: $(FDIR)/hackrf_usb.bin $(FDIR)/hackrf_usb.bin: $(FDIR) $(FDIR)/Makefile $(FORCE) $(MAKE) -C $(FDIR) @@ -42,9 +39,10 @@ hackrf-tools: $(TDIR) $(TDIR)/hackrf-tools/src/hackrf_info $(TDIR)/hackrf-tools/src/hackrf_info: $(FORCE) cd $(TDIR) && cmake .. && $(MAKE) - -clean: +hack-clean: $(RM) -r $(FDIR) $(TDIR) + +clean: hack-clean $(MAKE) -C firmware/libopencm3 clean FORCE: From a5d234ded7bba2f87971a9ccee67cbfff6a11263 Mon Sep 17 00:00:00 2001 From: Stefan `Sec` Zehl Date: Tue, 11 Aug 2015 00:26:41 +0200 Subject: [PATCH 4/4] do not build host-tools by default anymore --- Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile b/Makefile index 76dbd8e4..fe55cc56 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,5 @@ +default: lib hackrf-usb + all: lib hackrf-usb hackrf-tools force: clean all