From 7ea19ce3229fd357f6c475bb54bbf19cb0c90356 Mon Sep 17 00:00:00 2001 From: Simon John Date: Sun, 15 Dec 2013 21:10:58 +0000 Subject: [PATCH] Add option to set fuses without burning a bootloader When using ICSP programmers e.g. usbasp, you can burn sketches directly to the chip without having to burn a bootloader, however you do need to set fuses e.g. if you're changing speed/BOD. Updated help text to include "make set_fuses" and also changed "make burn_bootloader" help text which wasn't entirely accurate. Fix #141 --- HISTORY.md | 1 + arduino-mk/Arduino.mk | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/HISTORY.md b/HISTORY.md index fe669b9..cf74c0c 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -14,6 +14,7 @@ I tried to give credit whenever possible. If I have missed anyone, kindly add it - Add support for ChipKiT 2013. Fix #136 (https://github.com/peplin) - Auto detect and include libraries specified in `USER_LIB_PATH`. Fix #135 (https://github.com/tinyladi) - Use `MAKEFILE_LIST` to get the name of the make file. Fix #130 (https://github.com/cantora) +- New: Add option to set fuses without burning a bootloader. Fix #141 (https://github.com/sej7278) ### 1.0.1 (2013-09-25) - Unconditionally add -D in avrdude options. See #114 diff --git a/arduino-mk/Arduino.mk b/arduino-mk/Arduino.mk index 1ba2b81..67b3eaa 100644 --- a/arduino-mk/Arduino.mk +++ b/arduino-mk/Arduino.mk @@ -1143,6 +1143,14 @@ ifneq ($(strip $(AVRDUDE_ISP_FUSES_POST)),) $(AVRDUDE) $(AVRDUDE_COM_OPTS) $(AVRDUDE_ISP_OPTS) $(AVRDUDE_ISP_FUSES_POST) endif +set_fuses: +ifneq ($(strip $(AVRDUDE_ISP_FUSES_PRE)),) + $(AVRDUDE) $(AVRDUDE_COM_OPTS) $(AVRDUDE_ISP_OPTS) -e $(AVRDUDE_ISP_FUSES_PRE) +endif +ifneq ($(strip $(AVRDUDE_ISP_FUSES_POST)),) + $(AVRDUDE) $(AVRDUDE_COM_OPTS) $(AVRDUDE_ISP_OPTS) $(AVRDUDE_ISP_FUSES_POST) +endif + clean: $(REMOVE) $(LOCAL_OBJS) $(CORE_OBJS) $(LIB_OBJS) $(CORE_LIB) $(TARGETS) $(DEPS) $(USER_LIB_OBJS) ${OBJDIR} @@ -1193,7 +1201,8 @@ help: the capacity of the micro controller.\n\ make eeprom - upload the eep file\n\ make raw_eeprom - upload the eep file without first resetting\n\ - make burn_bootloader - Burn bootloader and/or fuses\n\ + make burn_bootloader - burn bootloader and fuses\n\ + make set_fuses - set fuses without burning bootloader\n\ make help - show this help\n\ " @$(ECHO) "Please refer to $(ARDMK_FILE) for more details.\n"