Skip to content

Commit

Permalink
Common upload target (#38)
Browse files Browse the repository at this point in the history
* add common update target

* clean up program: erase: and bootloader: targets
  • Loading branch information
jscrane authored May 21, 2023
1 parent a3dea8c commit 02885cc
Show file tree
Hide file tree
Showing 10 changed files with 47 additions and 66 deletions.
15 changes: 8 additions & 7 deletions avr.mk
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
SERIAL_PORT ?= /dev/ttyUSB0
UPLOAD_VERIFY ?= -V
UPLOAD_VERIFY ?= verify
UPLOAD_VERBOSE ?= quiet
PROGRAM_VERBOSE ?= $(UPLOAD_VERBOSE)
PROGRAM_VERIFY ?= $(UPLOAD_VERIFY)
ERASE_VERBOSE ?= $(UPLOAD_VERBOSE)
BOOTLOADER_VERBOSE ?= $(UPLOAD_VERBOSE)
PROGRAMMER ?= arduinoasisp
Expand All @@ -13,12 +14,12 @@ PROCESSOR_FAMILY := avr

serial.port := $(SERIAL_PORT)
upload.verbose := $(tools.$(upload.tool).upload.params.$(UPLOAD_VERBOSE))
upload.verify := $(UPLOAD_VERIFY)
program.verbose := $(tools.$(upload.tool).program.params.$(PROGRAM_VERBOSE))
program.verify := $(PROGRAM_VERIFY)
program.extra_params := $(PROGRAM_EXTRA_PARAMS)
erase.verbose := $(tools.$(upload.tool).erase.params.$(ERASE_VERBOSE))
bootloader.verbose := $(tools.$(upload.tool).bootloader.params.$(BOOTLOADER_VERBOSE))
upload.verify := $(tools.$(upload.tool).upload.params.$(UPLOAD_VERIFY))
program.verbose := $(tools.$(program.tool).program.params.$(PROGRAM_VERBOSE))
program.verify := $(tools.$(program.tool).program.params.$(PROGRAM_VERIFY))
program.extra_params := $(tools.$(program.tool).program.extra_params)
erase.verbose := $(tools.$(program.tool).erase.params.$(ERASE_VERBOSE))
bootloader.verbose := $(tools.$(bootloader.tool).bootloader.params.$(BOOTLOADER_VERBOSE))

-include build-targets.mk
-include programmers.mk
18 changes: 17 additions & 1 deletion build-targets.mk
Original file line number Diff line number Diff line change
Expand Up @@ -201,9 +201,25 @@ build-summary: $(SKETCH_ELF)
$(eval DATA_PC = $(shell echo $(DATA_SIZE) "* 100 /" $(upload.maximum_data_size) | bc))
@echo data: $(DATA_SIZE) / $(upload.maximum_data_size) bytes \($(DATA_PC)%\)

$(call define-scoped-prefix-variables,tools.$(upload.tool),upload)
upload: prebuild $(SKETCH_BIN)
$(subst "",,$(call os-override,tools.$(upload.tool).upload.pattern))

$(call define-scoped-prefix-variables,tools.$(program.tool),program)
program: prebuild $(SKETCH_BIN)
$(subst "",,$(call os-override,tools.$(program.tool).program.pattern))

$(call define-scoped-prefix-variables,tools.$(program.tool),erase)
erase:
$(subst "",,$(call os-override,tools.$(program.tool).erase.pattern))

$(call define-scoped-prefix-variables,tools.$(bootloader.tool),bootloader)
bootloader:
$(subst "",,$(call os-override,tools.$(bootloader.tool).bootloader.pattern))

version:
@echo "$(name) $(notdir $(runtime.platform.path))"

.PHONY: clean all path term version build-summary prebuild build-variables
.PHONY: clean all path term version build-summary prebuild build-variables upload program erase bootloader

-include $(DEPS)
8 changes: 1 addition & 7 deletions esp32.mk
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,6 @@ SUFFIX_EEP := partitions.bin

serial.port = $(SERIAL_PORT)

upload: path = $(tools.$(upload.tool).path)
upload: cmd = $(call os-override,tools.$(upload.tool).cmd)
upload: upload.pattern_args = $(tools.$(upload.tool).upload.pattern_args)
upload: prebuild $(SKETCH_BIN)
$(tools.$(upload.tool).upload.pattern.linux)

ota: network_cmd = $(tools.$(upload.tool).network_cmd)
ota: serial.port = $(OTA_HOST)
ota: network.port = $(OTA_PORT)
Expand All @@ -56,7 +50,7 @@ SPIFFS_BLOCKSIZE := 4096
$(SPIFFS_IMAGE): $(wildcard $(SPIFFS_DIR)/*)
$(runtime.tools.mkspiffs.path)/$(runtime.tools.mkspiffs.cmd) -c $(FS_DIR) -b $(SPIFFS_BLOCKSIZE) -p $(SPIFFS_PAGESIZE) -s $(SPIFFS_SIZE) $@

upload-fs: cmd = $(call os-override,tools.$(upload.tool).cmd)
upload-fs: cmd = $(tools.$(upload.tool).cmd)
upload-fs: $(SPIFFS_IMAGE)
$(runtime.tools.$(upload.tool).path)/$(cmd) --chip esp32 --port $(serial.port) --before default_reset --after hard_reset write_flash -z --flash_mode $(build.flash_mode) --flash_freq $(build.flash_freq) --flash_size detect $(SPIFFS_START) $(SPIFFS_IMAGE)

Expand Down
4 changes: 0 additions & 4 deletions esp8266.mk
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,6 @@ serial.port = $(SERIAL_PORT)

-include build-targets.mk

upload: cmd = $(tools.$(upload.tool).cmd)
upload: prebuild $(SKETCH_BIN)
$(subst "",, $(tools.$(upload.tool).upload.pattern))

ota: network_cmd = $(tools.$(upload.tool).network_cmd)
ota: serial.port = $(OTA_HOST)
ota: network.port = $(OTA_PORT)
Expand Down
14 changes: 11 additions & 3 deletions hardware.mk
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ name := $(VENDOR)
_id := $(BOARD)

define os-override
$(firstword $($1.$(runtime.os)) $($1))
$(if $($1.$(runtime.os)),$($1.$(runtime.os)),$($1))
endef

define define-tool
Expand All @@ -40,11 +40,11 @@ $(foreach t,$(wildcard $(PACKAGE_DIR)/tools/*), $(eval $(call define-tool,$(notd
-include programmers.txt.mk

define define-variable
$1 = $2
$(1:%.$(runtime.os)=%) = $(value $2)
endef

define define-prefix-variables
$(foreach v,$(filter $1.%, $(.VARIABLES)), $(eval $(call define-variable,$(v:$1.%=%),$($(v)))))
$(foreach v,$(filter $1.%, $(.VARIABLES)), $(eval $(call define-variable,$(v:$1.%=%),$(v))))
endef

define define-menu-variables
Expand All @@ -55,6 +55,14 @@ define define-menus
$(foreach m, $1, $(call define-menu-variables,$m))
endef

define define-scoped-variable
$3: $(call define-variable,$1,$2)
endef

define define-scoped-prefix-variables
$(foreach v,$(filter $1.%, $(.VARIABLES)), $(eval $(call define-scoped-variable,$(v:$1.%=%),$(v),$2)))
endef

$(call define-prefix-variables,$(BOARD))

$(call define-menus,$(foreach m,$(filter menu.%,$(.VARIABLES)),$(m:menu.%=%)))
Expand Down
5 changes: 0 additions & 5 deletions msp430.mk
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,3 @@ PROCESSOR_FAMILY := msp430

-include hardware.mk
-include build-targets.mk

upload: path = $(tools.$(upload.tool).path)
upload: cmd.path = $(tools.$(upload.tool).cmd.path)
upload: prebuild $(SKETCH_BIN)
$(subst ',, $(tools.$(upload.tool).upload.pattern))
16 changes: 1 addition & 15 deletions programmers.mk
Original file line number Diff line number Diff line change
@@ -1,21 +1,7 @@
program.protocol := $($(PROGRAMMER).program.protocol)
program.speed := $($(PROGRAMMER).program.speed)
program.extra_params := $($(PROGRAMMER).program.extra_params)
$(call define-prefix-variables,$(PROGRAMMER))

upload program erase bootloader: path = $(tools.$(upload.tool).path)
upload program erase bootloader: cmd.path = $(tools.$(upload.tool).cmd.path)
upload program erase bootloader: config.path = $(tools.$(upload.tool).config.path)
upload: prebuild $(SKETCH_BIN)
$(tools.$(upload.tool).upload.pattern)

program erase bootloader: protocol = $(program.protocol)
program: $(SKETCH_BIN)
$(tools.$(upload.tool).program.pattern)

erase:
$(tools.$(upload.tool).erase.pattern)

bootloader:
$(tools.$(upload.tool).bootloader.pattern)

.PHONY: upload program erase bootloader
13 changes: 2 additions & 11 deletions stm32.mk
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,8 @@ export PATH := $(PATH):$(STM_TOOLS)/STMicroelectronics/STM32Cube/STM32CubeProgra

-include hardware.mk

build.bootloader_flags := $($(BOARD).menu.upload_method.$(UPLOAD_METHOD).build.bootloader_flags)
build.st_extra_flags := $($(BOARD).build.st_extra_flags)

LIBRARIES += SrcWrapper

-include build-targets.mk
serial.port.file = $(notdir $(SERIAL_PORT))

upload: path = $(tools.$(upload.tool).path)
upload: cmd = $(tools.$(upload.tool).cmd)
upload: script = $(tools.$(upload.tool).script)
upload: upload.params = $(tools.$(upload.tool).upload.params)
upload: serial.port.file = $(notdir $(SERIAL_PORT))
upload: prebuild $(SKETCH_BIN)
$(subst "",, $(tools.$(upload.tool).upload.pattern))
-include build-targets.mk
14 changes: 7 additions & 7 deletions tiny.mk
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# default options (settable by user)
SERIAL_PORT ?= /dev/ttyUSB0
UPLOAD_VERIFY ?= noverify
PROGRAM_VERIFY ?= $(UPLOAD_VERIFY)
UPLOAD_VERIFY ?= verify
UPLOAD_VERBOSE ?= quiet
PROGRAM_VERBOSE ?= $(UPLOAD_VERBOSE)
PROGRAM_VERIFY ?= $(UPLOAD_VERIFY)
ERASE_VERBOSE ?= $(UPLOAD_VERBOSE)
BOOTLOADER_VERBOSE ?= $(UPLOAD_VERBOSE)
PROGRAMMER ?= arduinoasisp
Expand All @@ -29,11 +29,11 @@ NEOPIXELPORT ?= porta
serial.port := $(SERIAL_PORT)
upload.verbose := $(tools.$(upload.tool).upload.params.$(UPLOAD_VERBOSE))
upload.verify := $(tools.$(upload.tool).upload.params.$(UPLOAD_VERIFY))
program.verbose := $(tools.$(upload.tool).program.params.$(PROGRAM_VERBOSE))
program.verify := $(tools.$(upload.tool).programs.params.$(PROGRAM_VERIFY))
program.extra_params := $(PROGRAM_EXTRA_PARAMS)
erase.verbose := $(tools.$(upload.tool).erase.params.$(ERASE_VERBOSE))
bootloader.verbose := $(tools.$(upload.tool).bootloader.params.$(BOOTLOADER_VERBOSE))
program.verbose := $(tools.$(program.tool).program.params.$(PROGRAM_VERBOSE))
program.verify := $(tools.$(program.tool).program.params.$(PROGRAM_VERIFY))
program.extra_params := $(tools.$(program.tool).program.extra_params)
erase.verbose := $(tools.$(program.tool).erase.params.$(ERASE_VERBOSE))
bootloader.verbose := $(tools.$(bootloader.tool).bootloader.params.$(BOOTLOADER_VERBOSE))

-include build-targets.mk
-include programmers.mk
Expand Down
6 changes: 0 additions & 6 deletions tivac.mk
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,3 @@ PROCESSOR_FAMILY := tivac

-include hardware.mk
-include build-targets.mk

upload: path = $(tools.$(upload.tool).path)
upload: config.path = $(tools.$(upload.tool).config.path)
upload: cmd.path = $(tools.$(upload.tool).cmd.path)
upload: prebuild $(SKETCH_BIN)
$(subst ',, $(tools.$(upload.tool).upload.pattern))

0 comments on commit 02885cc

Please sign in to comment.