Browse Source

Make 'make upload' work

sbg
px4dev 12 years ago
parent
commit
a7cf9e2a36
  1. 17
      Makefile
  2. 2
      Tools/px_uploader.py
  3. 4
      makefiles/firmware.mk
  4. 3
      makefiles/module.mk
  5. 9
      makefiles/upload.mk

17
Makefile

@ -63,11 +63,26 @@ MQUIET = --no-print-directory @@ -63,11 +63,26 @@ MQUIET = --no-print-directory
#
# If the user has listed a config as a target, strip it out and override CONFIGS.
#
FIRMWARE_GOAL = firmware
EXPLICIT_CONFIGS := $(filter $(CONFIGS),$(MAKECMDGOALS))
ifneq ($(EXPLICIT_CONFIGS),)
CONFIGS := $(EXPLICIT_CONFIGS)
.PHONY: $(EXPLICIT_CONFIGS)
$(EXPLICIT_CONFIGS): all
#
# If the user has asked to upload, they must have also specified exactly one
# config.
#
ifneq ($(filter upload,$(MAKECMDGOALS)),)
ifneq ($(words $(EXPLICIT_CONFIGS)),1)
$(error In order to upload, exactly one board config must be specified)
endif
FIRMWARE_GOAL = upload
.PHONY: upload
upload:
@:
endif
endif
#
@ -100,7 +115,7 @@ $(FIRMWARES): $(BUILD_DIR)%.build/firmware.px4: @@ -100,7 +115,7 @@ $(FIRMWARES): $(BUILD_DIR)%.build/firmware.px4:
-f $(PX4_MK_DIR)firmware.mk \
CONFIG=$(config) \
WORK_DIR=$(work_dir) \
firmware
$(FIRMWARE_GOAL)
#
# Build the NuttX export archives.

2
Tools/px_uploader.py

@ -167,7 +167,7 @@ class uploader(object): @@ -167,7 +167,7 @@ class uploader(object):
def __init__(self, portname, baudrate):
# open the port, keep the default timeout short so we can poll quickly
self.port = serial.Serial(portname, baudrate, timeout=0.25)
self.port = serial.Serial(portname, baudrate, timeout=0.5)
def close(self):
if self.port is not None:

4
makefiles/firmware.mk

@ -424,7 +424,8 @@ $(PRODUCT_ELF): $(OBJS) $(MODULE_OBJS) $(GLOBAL_DEPS) $(LINK_DEPS) $(MODULE_MKF @@ -424,7 +424,8 @@ $(PRODUCT_ELF): $(OBJS) $(MODULE_OBJS) $(GLOBAL_DEPS) $(LINK_DEPS) $(MODULE_MKF
upload: $(PRODUCT_BUNDLE) $(PRODUCT_BIN)
$(Q) $(MAKE) -f $(PX4_MK_DIR)/upload.mk \
METHOD=serial \
PRODUCT=$(PRODUCT) \
CONFIG=$(CONFIG) \
BOARD=$(BOARD) \
BUNDLE=$(PRODUCT_BUNDLE) \
BIN=$(PRODUCT_BIN)
@ -435,6 +436,7 @@ clean: $(MODULE_CLEANS) @@ -435,6 +436,7 @@ clean: $(MODULE_CLEANS)
$(Q) $(REMOVE) $(OBJS) $(DEP_INCLUDES) $(EXTRA_CLEANS)
$(Q) $(RMDIR) $(NUTTX_EXPORT_DIR)
#
# DEP_INCLUDES is defined by the toolchain include in terms of $(OBJS)
#

3
makefiles/module.mk

@ -102,7 +102,7 @@ @@ -102,7 +102,7 @@
ifeq ($(MODULE_MK),)
$(error No module makefile specified)
endif
$(info % MODULE_MK = $(MODULE_MK))
$(info %% MODULE_MK = $(MODULE_MK))
#
# Get the board/toolchain config
@ -147,6 +147,7 @@ $(MODULE_COMMAND_FILES): exclude = $(dir $@)COMMAND.$(command).* @@ -147,6 +147,7 @@ $(MODULE_COMMAND_FILES): exclude = $(dir $@)COMMAND.$(command).*
$(MODULE_COMMAND_FILES): $(GLOBAL_DEPS)
@$(REMOVE) -f $(exclude)
@$(MKDIR) -p $(dir $@)
@echo "CMD: $(command)"
$(Q) $(TOUCH) $@
endif

9
makefiles/upload.mk

@ -21,11 +21,14 @@ ifeq ($(SERIAL_PORTS),) @@ -21,11 +21,14 @@ ifeq ($(SERIAL_PORTS),)
SERIAL_PORTS = "\\\\.\\COM32,\\\\.\\COM31,\\\\.\\COM30,\\\\.\\COM29,\\\\.\\COM28,\\\\.\\COM27,\\\\.\\COM26,\\\\.\\COM25,\\\\.\\COM24,\\\\.\\COM23,\\\\.\\COM22,\\\\.\\COM21,\\\\.\\COM20,\\\\.\\COM19,\\\\.\\COM18,\\\\.\\COM17,\\\\.\\COM16,\\\\.\\COM15,\\\\.\\COM14,\\\\.\\COM13,\\\\.\\COM12,\\\\.\\COM11,\\\\.\\COM10,\\\\.\\COM9,\\\\.\\COM8,\\\\.\\COM7,\\\\.\\COM6,\\\\.\\COM5,\\\\.\\COM4,\\\\.\\COM3,\\\\.\\COM2,\\\\.\\COM1,\\\\.\\COM0"
endif
.PHONY: all upload-$(METHOD)-$(PRODUCT)
all: upload-$(METHOD)-$(PRODUCT)
.PHONY: all upload-$(METHOD)-$(BOARD)
all: upload-$(METHOD)-$(BOARD)
upload-serial-px4fmu: $(BUNDLE) $(UPLOADER)
@python -u $(UPLOADER) --port $(SERIAL_PORTS) $(PRODUCT_BUNDLE)
@python -u $(UPLOADER) --port $(SERIAL_PORTS) $(BUNDLE)
upload-serial-px4fmuv2: $(BUNDLE) $(UPLOADER)
@python -u $(UPLOADER) --port $(SERIAL_PORTS) $(BUNDLE)
#
# JTAG firmware uploading with OpenOCD

Loading…
Cancel
Save