aboutsummaryrefslogtreecommitdiff
path: root/arduino-mk
diff options
context:
space:
mode:
authorFabio Pugliese Ornellas <fabio.ornellas@gmail.com>2012-11-12 21:34:51 -0200
committerFabio Pugliese Ornellas <fabio.ornellas@gmail.com>2012-11-12 21:34:51 -0200
commitb5448a64dc20f996a753c2cd3332e30be8df3ab8 (patch)
tree999a9df8e3efd4b9b8ee4cd6f7a4053bdd76801f /arduino-mk
parent184230fcf2ac9075fee642be8948d406913cb7df (diff)
Added sketch size verification.
Diffstat (limited to 'arduino-mk')
-rw-r--r--arduino-mk/Arduino.mk15
1 files changed, 11 insertions, 4 deletions
diff --git a/arduino-mk/Arduino.mk b/arduino-mk/Arduino.mk
index 09819ac..56204f9 100644
--- a/arduino-mk/Arduino.mk
+++ b/arduino-mk/Arduino.mk
@@ -445,6 +445,10 @@ ifndef OBJDIR
OBJDIR = build-$(BOARD_TAG)
endif
+ifndef HEX_MAXIMUM_SIZE
+HEX_MAXIMUM_SIZE = $(shell $(PARSE_BOARD_CMD) $(BOARD_TAG) upload.maximum_size)
+endif
+
########################################################################
# Local sources
#
@@ -655,7 +659,7 @@ AVRDUDE_ISP_OPTS = -P $(ISP_PORT) $(ISP_PROG)
# Explicit targets start here
#
-all: $(OBJDIR) $(TARGET_HEX)
+all: $(OBJDIR) $(TARGET_HEX) verify_size
$(OBJDIR):
mkdir $(OBJDIR)
@@ -671,7 +675,7 @@ $(DEP_FILE): $(OBJDIR) $(DEPS)
upload: reset raw_upload
-raw_upload: $(TARGET_HEX)
+raw_upload: $(TARGET_HEX) verify_size
$(AVRDUDE) $(AVRDUDE_COM_OPTS) $(AVRDUDE_ARD_OPTS) \
-U flash:w:$(TARGET_HEX):i
@@ -689,7 +693,7 @@ reset_stty:
(sleep 0.1 || sleep 1) ;\
$$STTYF $(ARD_PORT) -hupcl
-ispload: $(TARGET_HEX)
+ispload: $(TARGET_HEX) verify_size
$(AVRDUDE) $(AVRDUDE_COM_OPTS) $(AVRDUDE_ISP_OPTS) -e \
-U lock:w:$(ISP_LOCK_FUSE_PRE):m \
-U hfuse:w:$(ISP_HIGH_FUSE):m \
@@ -715,6 +719,9 @@ show_boards:
monitor:
$(MONITOR_CMD) $(ARD_PORT) $(MONITOR_BAUDRATE)
-.PHONY: all clean depends upload raw_upload reset reset_stty size show_boards monitor
+verify_size: $(TARGET_HEX)
+ $(ARDMK_PATH)/ard-verify-size $(TARGET_HEX) $(HEX_MAXIMUM_SIZE)
+
+.PHONY: all clean depends upload raw_upload reset reset_stty size show_boards monitor verify_size
include $(DEP_FILE)