|
@@ -79,44 +79,31 @@ upload-esp:
|
|
|
|
|
|
ip = $(MAX80_IP)
|
|
|
|
|
|
+# Generic upload for newer firmware (as opposed to specifying a version)
|
|
|
+upload: upload-$(PROJECT)
|
|
|
+
|
|
|
ifeq ($(PORT),)
|
|
|
# --- Upload via HTTP ---
|
|
|
|
|
|
-# Generic upload for newer firmware
|
|
|
-upload:
|
|
|
- $(CURL) -v --data-binary @fpga/output/$(PROJECT).fw 'http://$(ip)/sys/fwupdate'
|
|
|
-
|
|
|
-# Version-specific uploads for older firmware
|
|
|
-upload-v%:
|
|
|
- $(CURL) -v --data-binary @fpga/output/v$*.fw 'http://$(ip)/sys/fwupdate'
|
|
|
+upload-%:
|
|
|
+ $(CURL) -v --data-binary @fpga/output/$*.fw 'http://$(ip)/sys/fwupdate'
|
|
|
|
|
|
# setver is not supported via HTTP
|
|
|
-setver-v%:
|
|
|
+setver-%:
|
|
|
@echo 'make $@ requires PORT= to be specified'
|
|
|
@exit 1
|
|
|
|
|
|
else
|
|
|
# --- Upload via serial port/USB
|
|
|
|
|
|
-# Generic upload for newer firmware
|
|
|
-upload:
|
|
|
- $(PERL) ./tools/flashmax.pl fpga/output/$(PROJECT).fw '$(PORT)' $(FLASHOPT)
|
|
|
+FLASHMAX = $(PERL) ./tools/flashmax.pl --port '$(PORT)' $(FLASHOPT)
|
|
|
|
|
|
# Version-specific uploads for older firmware
|
|
|
-upload-v%:
|
|
|
- $(PERL) ./tools/flashmax.pl fpga/output/v$*.fw '$(PORT)' $(FLASHOPT)
|
|
|
+upload-%:
|
|
|
+ $(FLASHMAX) fpga/output/$*.fw
|
|
|
|
|
|
# Write board ID/revision to flash
|
|
|
-WRITEFLASH = $(ESPTOOL) --before default_reset --after hard_reset --port '$(PORT)' write_flash -z
|
|
|
-
|
|
|
-stamp_max80_v%.bin:
|
|
|
- $(PERL) -e '$$m = "MAX80 v$*\0"; print $$m, "\xff" x (4096 - length ($$m));' > $@
|
|
|
-
|
|
|
-# esptool is unreliable, so retry several times with a brief break in between
|
|
|
-setver-v%: stamp_max80_v%.bin
|
|
|
- for i in `seq 1 5`; do \
|
|
|
- $(WRITEFLASH) 0 $< && break; \
|
|
|
- sleep 1; \
|
|
|
- done
|
|
|
+setver-%:
|
|
|
+ $(FLASHMAX) --setver 'MAX80 v$*'
|
|
|
|
|
|
endif
|