Programmer options:
dapa : (default) use parallel port programmer
- mib510,<dev> : use MIB510 serial port programming board at port <dev>
+ mib510,<dev> : use MIB510/MIB520 serial port programming board at port <dev>
eprb,<host> : use EPRB at hostname <host>
avrisp,<dev> : use AVRISP serial programmer at port <dev>
OBJCOPY = avr-objcopy
OBJDUMP = avr-objdump
SET_ID = tos-set-symbols
-PROGRAMMER = uisp
+PROGRAMMER ?= uisp
NCC = ncc
LIBS = -lm
+
AMADDR = ActiveMessageAddressC\$$addr
+# Uncomment the next two lines if you have a toolchain without the dollar sign
+# patch. This needs nesc 1.2.8 or newer (1.2.9 is recommended).
+#PFLAGS += -fnesc-separator=__
+#AMADDR = ActiveMessageAddressC__addr
BUILDDIR = build/$(PLATFORM)
MAIN_EXE = $(BUILDDIR)/main.exe
MAIN_SREC = $(BUILDDIR)/main.srec
PFLAGS += -DTOSH_DATA_LENGTH=$(MSG_SIZE)
endif
-ifndef DEFAULT_PROGRAM
-DEFAULT_PROGRAM = dapa
+AVRGCCMAJOR = $(shell avr-gcc -v 2>&1 | grep "gcc version" | sed -n 's/gcc version \([2-5]\)\.\([0-9]\)\.\([0-9]\).*/\1/p')
+ifeq ($(AVRGCCMAJOR),4)
+ PFLAGS += --param max-inline-insns-single=100000
+else
+ PFLAGS += -finline-limit=100000
+endif
+
+ifeq ($(PROGRAMMER),avrdude)
+ AVRDUDE_CONF ?= /etc/avrdude/avrdude.conf
+ ifeq ($(shell [ -f /bin/cygwin1.dll ] && echo cygwin),cygwin)
+ AVRDUDE_CONF := $(shell cygpath -m $(AVRDUDE_CONF))
+ endif
+ PROGRAMMER_EXTRA_FLAGS += -C$(AVRDUDE_CONF)
+# PROGRAMMER_EXTRA_FLAGS += -v -v
+endif
+
+ifdef DEFAULT_PROGRAM_AVR
+DEFAULT_PROGRAM = $(DEFAULT_PROGRAM_AVR)
endif
+DEFAULT_PROGRAM ?= dapa
+
+
BUILDLESS_DEPS += bytes
endif
PROGRAM = avrisp
-PROGRAMMER_FLAGS=-dprog=stk500 -dserial=$(AVRISP) --wr_fuse_h=$(AVR_FUSE_H) $(PROGRAMMER_PART) $(PROGRAMMER_EXTRA_FLAGS_AVRISP)
+
+ifeq ($(PROGRAMMER),avrdude)
+ ifdef BOOTLOADER
+ ifeq ($(shell [ -f /bin/cygwin1.dll ] && echo cygwin),cygwin)
+ BOOTLOADER := $(shell cygpath -m $(BOOTLOADER))
+ endif
+ endif
+ PROGRAMMER_FLAGS = -cstk500 -P$(MIB510) -U hfuse:w:$(AVR_FUSE_H):m $(PROGRAMMER_PART) $(PROGRAMMER_EXTRA_FLAGS) $(PROGRAMMER_EXTRA_FLAGS_AVRISP)
+ PROGRAMMER_INSTALL_SREC_FLAGS = -U flash:w:$(INSTALL_SREC):a
+ PROGRAMMER_INSTALL_BOOTLOADER_FLAGS = -D -U flash:w:$(BOOTLOADER):a
+endif
+
+ifeq ($(PROGRAMMER),uisp)
+ PROGRAMMER_FLAGS = -dprog=stk500 -dserial=$(AVRISP) --wr_fuse_h=$(AVR_FUSE_H) $(PROGRAMMER_PART) $(PROGRAMMER_EXTRA_FLAGS) $(PROGRAMMER_EXTRA_FLAGS_AVRISP)
+ PROGRAMMER_INSTALL_SREC_FLAGS = --erase --upload if=$(INSTALL_SREC) --verify
+ PROGRAMMER_INSTALL_BOOTLOADER_FLAGS = --upload if=$(BOOTLOADER) --verify
+endif
program: FORCE
@echo " installing $(PLATFORM) binary using avrisp"
- $(PROGRAMMER) $(PROGRAMMER_FLAGS) --erase --upload if=$(INSTALL_SREC)
+ $(PROGRAMMER) $(PROGRAMMER_FLAGS) $(PROGRAMMER_INSTALL_SREC_FLAGS)
program_bl: FORCE
@echo " installing $(PLATFORM) bootloader using avrisp"
- $(PROGRAMMER) $(PROGRAMMER_FLAGS) --upload if=$(BOOTLOADER)
\ No newline at end of file
+ $(PROGRAMMER) $(PROGRAMMER_FLAGS) $(PROGRAMMER_INSTALL_BOOTLOADER_FLAGS)
#-*-Makefile-*- vim:syntax=make
#$Id$
+
+
+
+
PROGRAM = dapa
-PROGRAMMER_FLAGS = -dprog=dapa --wr_fuse_h=$(AVR_FUSE_H) $(PROGRAMMER_PART) $(PROGRAMMER_EXTRA_FLAGS)
+
+ifeq ($(PROGRAMMER),avrdude)
+ ifdef BOOTLOADER
+ ifeq ($(shell [ -f /bin/cygwin1.dll ] && echo cygwin),cygwin)
+ BOOTLOADER := $(shell cygpath -m $(BOOTLOADER))
+ endif
+ endif
+ PROGRAMMER_FLAGS = -cdapa -U hfuse:w:$(AVR_FUSE_H):m $(PROGRAMMER_PART) $(PROGRAMMER_EXTRA_FLAGS) $(PROGRAMMER_EXTRA_FLAGS_MIB)
+ PROGRAMMER_INSTALL_SREC_FLAGS = -U flash:w:$(INSTALL_SREC):a
+ PROGRAMMER_INSTALL_BOOTLOADER_FLAGS = -D -U flash:w:$(BOOTLOADER):a
+endif
+
+ifeq ($(PROGRAMMER),uisp)
+ PROGRAMMER_FLAGS = -dprog=dapa --wr_fuse_h=$(AVR_FUSE_H) $(PROGRAMMER_PART) $(PROGRAMMER_EXTRA_FLAGS) $(PROGRAMMER_EXTRA_FLAGS_MIB)
+ PROGRAMMER_INSTALL_SREC_FLAGS = --erase --upload if=$(INSTALL_SREC) --verify
+ PROGRAMMER_INSTALL_BOOTLOADER_FLAGS = --upload if=$(BOOTLOADER) --verify
+endif
program: FORCE
- @echo " installing $(PLATFORM) binary with dapa"
- $(PROGRAMMER) $(PROGRAMMER_FLAGS) --erase
- sleep 1
- $(PROGRAMMER) $(PROGRAMMER_FLAGS) --upload if=$(INSTALL_SREC)
- sleep 1
- $(PROGRAMMER) $(PROGRAMMER_FLAGS) --verify if=$(INSTALL_SREC)
+ @echo " installing $(PLATFORM) binary using dapa"
+ $(PROGRAMMER) $(PROGRAMMER_FLAGS) $(PROGRAMMER_INSTALL_SREC_FLAGS)
program_bl: FORCE
- @echo " installing $(PLATFORM) bootloader with dapa"
- $(PROGRAMMER) $(PROGRAMMER_FLAGS) --upload if=$(BOOTLOADER)
- sleep 1
- $(PROGRAMMER) $(PROGRAMMER_FLAGS) --verify if=$(BOOTLOADER)
+ @echo " installing $(PLATFORM) bootloader using dapa"
+ $(PROGRAMMER) $(PROGRAMMER_FLAGS) $(PROGRAMMER_INSTALL_BOOTLOADER_FLAGS)
endif
PROGRAM = eprb
-PROGRAMMER_FLAGS = -dprog=stk500 -dhost=$(EPRB) --wr_fuse_h=$(AVR_FUSE_H) $(PROGRAMMER_PART) $(PROGRAMMER_EXTRA_FLAGS_STK)
+
+ifeq ($(PROGRAMMER),avrdude)
+ ifdef BOOTLOADER
+ ifeq ($(shell [ -f /bin/cygwin1.dll ] && echo cygwin),cygwin)
+ BOOTLOADER := $(shell cygpath -m $(BOOTLOADER))
+ endif
+ endif
+ PROGRAMMER_FLAGS = -cstk500 -P$(EPRB) -U hfuse:w:$(AVR_FUSE_H):m $(PROGRAMMER_PART) $(PROGRAMMER_EXTRA_FLAGS) $(PROGRAMMER_EXTRA_FLAGS_STK)
+ PROGRAMMER_INSTALL_SREC_FLAGS = -U flash:w:$(INSTALL_SREC):a
+ PROGRAMMER_INSTALL_BOOTLOADER_FLAGS = -D -U flash:w:$(BOOTLOADER):a
+endif
+
+ifeq ($(PROGRAMMER),uisp)
+ PROGRAMMER_FLAGS = -dprog=stk500 -dhost=$(EPRB) --wr_fuse_h=$(AVR_FUSE_H) $(PROGRAMMER_PART) $(PROGRAMMER_EXTRA_FLAGS) $(PROGRAMMER_EXTRA_FLAGS_STK)
+ PROGRAMMER_INSTALL_SREC_FLAGS = --erase --upload if=$(INSTALL_SREC) --verify
+ PROGRAMMER_INSTALL_BOOTLOADER_FLAGS = --upload if=$(BOOTLOADER) --verify
+endif
program: FORCE
@echo " installing $(PLATFORM) binary using eprb"
- $(PROGRAMMER) $(PROGRAMMER_FLAGS) --erase --upload if=$(INSTALL_SREC)
+ $(PROGRAMMER) $(PROGRAMMER_FLAGS) $(PROGRAMMER_INSTALL_SREC_FLAGS)
program_bl: FORCE
@echo " installing $(PLATFORM) bootloader using eprb"
- $(PROGRAMMER) $(PROGRAMMER_FLAGS) --upload if=$(BOOTLOADER)
+ $(PROGRAMMER) $(PROGRAMMER_FLAGS) $(PROGRAMMER_INSTALL_BOOTLOADER_FLAGS)
endif
PROGRAM = mib510
-PROGRAMMER_FLAGS = -dprog=mib510 -dserial=$(MIB510) --wr_fuse_h=$(AVR_FUSE_H) $(PROGRAMMER_PART) $(PROGRAMMER_EXTRA_FLAGS_MIB)
+ifeq ($(PROGRAMMER),avrdude)
+ ifdef BOOTLOADER
+ ifeq ($(shell [ -f /bin/cygwin1.dll ] && echo cygwin),cygwin)
+ BOOTLOADER := $(shell cygpath -m $(BOOTLOADER))
+ endif
+ endif
+ PROGRAMMER_FLAGS = -cmib510 -P$(MIB510) -U hfuse:w:$(AVR_FUSE_H):m $(PROGRAMMER_PART) $(PROGRAMMER_EXTRA_FLAGS) $(PROGRAMMER_EXTRA_FLAGS_MIB)
+ PROGRAMMER_INSTALL_SREC_FLAGS = -U flash:w:$(INSTALL_SREC):a
+ PROGRAMMER_INSTALL_BOOTLOADER_FLAGS = -D -U flash:w:$(BOOTLOADER):a
+endif
+
+ifeq ($(PROGRAMMER),uisp)
+ PROGRAMMER_FLAGS = -dprog=mib510 -dserial=$(MIB510) --wr_fuse_h=$(AVR_FUSE_H) $(PROGRAMMER_PART) $(PROGRAMMER_EXTRA_FLAGS) $(PROGRAMMER_EXTRA_FLAGS_MIB)
+ PROGRAMMER_INSTALL_SREC_FLAGS = --erase --upload if=$(INSTALL_SREC) --verify
+ PROGRAMMER_INSTALL_BOOTLOADER_FLAGS = --upload if=$(BOOTLOADER) --verify
+endif
program: FORCE
@echo " installing $(PLATFORM) binary using mib510"
- $(PROGRAMMER) $(PROGRAMMER_FLAGS) --erase --upload if=$(INSTALL_SREC)
-
+ $(PROGRAMMER) $(PROGRAMMER_FLAGS) $(PROGRAMMER_INSTALL_SREC_FLAGS)
+
program_bl: FORCE
@echo " installing $(PLATFORM) bootloader using mib510"
- $(PROGRAMMER) $(PROGRAMMER_FLAGS) --upload if=$(BOOTLOADER)
\ No newline at end of file
+ $(PROGRAMMER) $(PROGRAMMER_FLAGS) $(PROGRAMMER_INSTALL_BOOTLOADER_FLAGS)
PLATFORM ?= btnode3
SENSORBOARD ?= micasb
-PROGRAMMER_PART ?= -dpart=ATmega128 --wr_fuse_e=ff
-PFLAGS += -finline-limit=100000
+PROGRAMMER ?= uisp
+ifeq ($(PROGRAMMER),avrdude)
+ PROGRAMMER_PART ?= -pm128 -U efuse:w:0xff:m
+endif
+
+ifeq ($(PROGRAMMER),uisp)
+ PROGRAMMER_PART ?= -dpart=ATmega128 --wr_fuse_e=ff
+endif
ifdef TINYOS_NP
ifeq ($(TINYOS_NP),BNP)
--- /dev/null
+#-*-Makefile-*- vim:syntax=make
+#$Id$
+
+PLATFORM = iris
+SENSORBOARD ?= micasb
+PROGRAMMER ?= avrdude
+ifeq ($(PROGRAMMER),avrdude)
+ PROGRAMMER_PART ?= -pm1281 -U efuse:w:0xff:m
+endif
+
+ifeq ($(PROGRAMMER),uisp)
+ PROGRAMMER_PART ?= -dpart=ATmega1281 --wr_fuse_e=ff
+endif
+
+AVR_FUSE_H ?= 0xd9
+AVR_FUSE_L ?= 0xff
+$(call TOSMake_include_platform,avr)
+
+iris: $(BUILD_DEPS)
+ @:
\ No newline at end of file
PLATFORM = mica2
SENSORBOARD ?= micasb
-PROGRAMMER_PART ?= -dpart=ATmega128 --wr_fuse_e=ff
-PFLAGS += -finline-limit=100000
+PROGRAMMER ?= uisp
+ifeq ($(PROGRAMMER),avrdude)
+ PROGRAMMER_PART ?= -pm128 -U efuse:w:0xff:m
+endif
+
+ifeq ($(PROGRAMMER),uisp)
+ PROGRAMMER_PART ?= -dpart=ATmega128 --wr_fuse_e=ff
+endif
AVR_FUSE_H ?= 0xd9
#$Id$
PLATFORM = mica2dot
-PROGRAMMER_PART ?= -dpart=ATmega128 --wr_fuse_e=ff
-PFLAGS += -finline-limit=100000
+
+PROGRAMMER ?= uisp
+ifeq ($(PROGRAMMER),avrdude)
+ PROGRAMMER_PART ?= -pm128 -U efuse:w:0xff:m
+endif
+
+ifeq ($(PROGRAMMER),uisp)
+ PROGRAMMER_PART ?= -dpart=ATmega128 --wr_fuse_e=ff
+endif
AVR_FUSE_H ?= 0xd9
PLATFORM = micaz
SENSORBOARD ?= micasb
-PROGRAMMER_PART ?= -dpart=ATmega128 --wr_fuse_e=ff
-PFLAGS += -finline-limit=100000
+PROGRAMMER ?= uisp
+ifeq ($(PROGRAMMER),avrdude)
+ PROGRAMMER_PART ?= -pm128 -U efuse:w:0xff:m
+endif
+ifeq ($(PROGRAMMER),uisp)
+ PROGRAMMER_PART ?= -dpart=ATmega128 --wr_fuse_e=ff
+endif
+
AVR_FUSE_H ?= 0xd9
$(call TOSMake_include_platform,avr)