diff --git a/conf/Makefile.avr b/conf/Makefile.avr index c045786e48..7cbea63740 100644 --- a/conf/Makefile.avr +++ b/conf/Makefile.avr @@ -74,7 +74,7 @@ $(TARGET).objs = $($(TARGET).srcs:%.c=$(OBJDIR)/%.o) all compile: $($(TARGET).objs) $(OBJDIR)/$(TARGET).elf echo $(OBJDIR) -load upload: \ +load upload: check_fuses \ $(TARGET).install @@ -91,6 +91,14 @@ wr_fuses : check_arch $(UISP) $(ISP_FLAGS) --wr_fuse_e=$(EXT_FUSE) $(UISP) $(ISP_FLAGS) --wr_lock=$(LOCK_FUSE) +TMPFILE = '/tmp/check_fuses.tmp' + +check_fuses: check_arch + @echo "##### Check of fuses #####" + @$(UISP) $(ISP_FLAGS) --rd_fuses >$(TMPFILE) + @if (grep -i 'Fuse Low Byte' $(TMPFILE) | cut -c24- | grep -iq $(LOW_FUSE)) && (grep -i 'Fuse High Byte' $(TMPFILE) |cut -c24- | grep -iq $(HIGH_FUSE)) && (grep -i 'Fuse Extended Byte' $(TMPFILE) |cut -c24- | grep -iq $(EXT_FUSE)) && (grep -i 'Lock Bits' $(TMPFILE) |cut -c24- | grep -iq $(LOCK_FUSE)); then echo "-> Fuses are Ok"; rm $(TMPFILE); else echo "-> Wrong fuses. Type 'make wr_fuses'"; rm $(TMPFILE); exit 1; fi + + $(OBJDIR)/%.elf: $($(TARGET).objs) $(LD) \