From 0b278062f151fb6148b8d252cc9145f78cabec02 Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Thu, 10 Sep 2015 17:09:44 -0600 Subject: Added attiny25-compatible build and flash scripts. Tested (and works) with Tom E's eswitch_NOINIT.c for attiny25. --- bin/build-25.sh | 25 +++++++++++++++++++++++++ bin/build.sh | 2 +- bin/flash-25.sh | 4 ++++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100755 bin/build-25.sh create mode 100755 bin/flash-25.sh (limited to 'bin') diff --git a/bin/build-25.sh b/bin/build-25.sh new file mode 100755 index 0000000..c89631e --- /dev/null +++ b/bin/build-25.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +# Instead of using a Makefile, since most of the firmwares here build in the +# same exact way, here's a script to do the same thing + +export PROGRAM=$1 +export MCU=attiny25 +export CC=avr-gcc +export OBJCOPY=avr-objcopy +export CFLAGS="-Wall -g -Os -mmcu=$MCU -c -std=gnu99" +export OFLAGS="-Wall -g -Os -mmcu=$MCU" +export LDFLAGS= +export OBJCOPYFLAGS='--set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex' +export OBJS=$PROGRAM.o + +function run () { + echo $* + $* + if [ x"$?" != x0 ]; then exit 1 ; fi +} + +run $CC $CFLAGS -o $PROGRAM.o -c $PROGRAM.c +run $CC $OFLAGS $LDFLAGS -o $PROGRAM.elf $PROGRAM.o +run $OBJCOPY $OBJCOPYFLAGS $PROGRAM.elf $PROGRAM.hex +run avr-size -C --mcu=$MCU $PROGRAM.elf | grep Full diff --git a/bin/build.sh b/bin/build.sh index f347a29..e534494 100755 --- a/bin/build.sh +++ b/bin/build.sh @@ -22,4 +22,4 @@ function run () { run $CC $CFLAGS -o $PROGRAM.o -c $PROGRAM.c run $CC $OFLAGS $LDFLAGS -o $PROGRAM.elf $PROGRAM.o run $OBJCOPY $OBJCOPYFLAGS $PROGRAM.elf $PROGRAM.hex -run avr-size -C --mcu=attiny13 $PROGRAM.elf | grep Full +run avr-size -C --mcu=$MCU $PROGRAM.elf | grep Full diff --git a/bin/flash-25.sh b/bin/flash-25.sh new file mode 100755 index 0000000..bb5dd34 --- /dev/null +++ b/bin/flash-25.sh @@ -0,0 +1,4 @@ +#/bin/sh +FIRMWARE=$1 +avrdude -c usbasp -p t25 -u -Uflash:w:$FIRMWARE -U lfuse:w:0xd2:m -U hfuse:w:0xde:m -U efuse:w:0xff:m +# http://www.engbedded.com/cgi-bin/fcx.cgi?P_PREV=ATtiny25&P=ATtiny25&M_LOW_0x3F=0x12&M_HIGH_0x07=0x06&M_HIGH_0x20=0x00&B_SPIEN=P&B_SUT0=P&B_CKSEL3=P&B_CKSEL2=P&B_CKSEL0=P&B_BODLEVEL0=P&V_LOW=E2&V_HIGH=DE&V_EXTENDED=FF -- cgit v1.2.3 From 7ec62b9bd5e2f67c29f3f9773ddbbe970598e308 Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Thu, 10 Sep 2015 17:53:58 -0600 Subject: Made offtime-cap work on attiny25 in addition to the attiny13 it already supported. Added attiny type as a build script option, so the code will automatically select the right options. --- bin/build-25.sh | 5 +++-- bin/build.sh | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) (limited to 'bin') diff --git a/bin/build-25.sh b/bin/build-25.sh index c89631e..9a3de00 100755 --- a/bin/build-25.sh +++ b/bin/build-25.sh @@ -4,10 +4,11 @@ # same exact way, here's a script to do the same thing export PROGRAM=$1 -export MCU=attiny25 +export ATTINY=25 +export MCU=attiny$ATTINY export CC=avr-gcc export OBJCOPY=avr-objcopy -export CFLAGS="-Wall -g -Os -mmcu=$MCU -c -std=gnu99" +export CFLAGS="-Wall -g -Os -mmcu=$MCU -c -std=gnu99 -DATTINY=$ATTINY" export OFLAGS="-Wall -g -Os -mmcu=$MCU" export LDFLAGS= export OBJCOPYFLAGS='--set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex' diff --git a/bin/build.sh b/bin/build.sh index e534494..935310a 100755 --- a/bin/build.sh +++ b/bin/build.sh @@ -4,10 +4,11 @@ # same exact way, here's a script to do the same thing export PROGRAM=$1 -export MCU=attiny13 +export ATTINY=13 +export MCU=attiny$ATTINY export CC=avr-gcc export OBJCOPY=avr-objcopy -export CFLAGS="-Wall -g -Os -mmcu=$MCU -c -std=gnu99" +export CFLAGS="-Wall -g -Os -mmcu=$MCU -c -std=gnu99 -DATTINY=$ATTINY" export OFLAGS="-Wall -g -Os -mmcu=$MCU" export LDFLAGS= export OBJCOPYFLAGS='--set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex' -- cgit v1.2.3