]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
updated AVR specific makefiles with dual support for uisp and avrdude
authorsallai <sallai>
Tue, 6 Nov 2007 19:32:56 +0000 (19:32 +0000)
committersallai <sallai>
Tue, 6 Nov 2007 19:32:56 +0000 (19:32 +0000)
support/make/avr/avr.rules
support/make/avr/avrisp.extra
support/make/avr/dapa.extra
support/make/avr/eprb.extra
support/make/avr/mib510.extra
support/make/btnode3.target
support/make/iris.target [new file with mode: 0644]
support/make/mica2.target
support/make/mica2dot.target
support/make/micaz.target

index 9d398109da857f1058fdb5d93fb54c49a32f2c1c..a284d4552056cce197defde02931e1ccfc57ad46 100644 (file)
@@ -12,7 +12,7 @@ define AVR_HELP
  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>
 
@@ -26,11 +26,16 @@ HELP += $(AVR_HELP)
 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
@@ -44,9 +49,28 @@ ifdef MSG_SIZE
 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 
 
index 559ca060c58748715f56928ce394bc1a8ce17245..c56de450133216e8be7088e9820e754635e1ee8d 100644 (file)
@@ -6,12 +6,28 @@ $(error AVRISP must be defined, try "make $(TARGETS) help")
 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)
index 54b982b246dd6284d3e182c1450870a087d4fae2..6717198d0e05960c45b9cffdd3afe01cc08f2325 100644 (file)
@@ -1,19 +1,33 @@
 #-*-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)
index 3dcd4b7f192b459e286ea1ec3a1496727dec8aba..9b2da7d5a603c02ba4e6a9b1c412d42f0af72c51 100644 (file)
@@ -6,12 +6,28 @@ $(error EPRB must be defined, try "make $(TARGETS) help")
 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)
index 6b8189270356e0239d1dc1d41fc4f6ac8005acba..56c02fe2c43fc8e43f8d2992a665976cdff8a57b 100644 (file)
@@ -6,12 +6,27 @@ $(error MIB510 must be defined, try "make $(TARGETS) help")
 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)
index 6908815e2f1af374bac4b0f95d8c7cbcb812c3f8..a144ae2c31e7b7d1394dc8b7edf20ddb79befed1 100644 (file)
@@ -3,8 +3,14 @@
 
 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)
diff --git a/support/make/iris.target b/support/make/iris.target
new file mode 100644 (file)
index 0000000..ce4e7d5
--- /dev/null
@@ -0,0 +1,20 @@
+#-*-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
index a5e06f59661b0db50d09075da85acd5e66691a17..b81960f2bb3cbca23aa5a3ed150528c5955d7faa 100644 (file)
@@ -3,8 +3,14 @@
 
 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
 
index 5b43738f24c9ffa1fcf043f5692f668a5c140ab8..55980269ab903c0a7a905dc9433a614c57d870ca 100644 (file)
@@ -2,8 +2,15 @@
 #$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
 
index 677f5118fdd1ffba67d3d1fc5a96537270e0492b..9f3a1f50f29fb7f65bf3d3c80b8fe5216f794429 100644 (file)
@@ -3,9 +3,15 @@
 
 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)