aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSelene ToyKeeper2015-09-10 18:57:48 -0600
committerSelene ToyKeeper2015-09-10 18:57:48 -0600
commitd621b86a303491902e21c63134205b32dd842cc1 (patch)
tree785d76e83fa6c176affd312fa76f5e245087934f
parentmerged final blf-a6 files for groupbuy production units (diff)
parentMade offtime-cap work on attiny25 in addition to the attiny13 it already supp... (diff)
downloadanduril-d621b86a303491902e21c63134205b32dd842cc1.tar.gz
anduril-d621b86a303491902e21c63134205b32dd842cc1.tar.bz2
anduril-d621b86a303491902e21c63134205b32dd842cc1.zip
Merged attiny25 support for blf-a6, battcheck, and offtime-cap.
Added some attiny25-related scripts.
-rwxr-xr-xbin/build-25.sh26
-rwxr-xr-xbin/build.sh7
-rwxr-xr-xbin/flash-25.sh4
3 files changed, 34 insertions, 3 deletions
diff --git a/bin/build-25.sh b/bin/build-25.sh
new file mode 100755
index 0000000..9a3de00
--- /dev/null
+++ b/bin/build-25.sh
@@ -0,0 +1,26 @@
+#!/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 ATTINY=25
+export MCU=attiny$ATTINY
+export CC=avr-gcc
+export OBJCOPY=avr-objcopy
+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'
+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..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'
@@ -22,4 +23,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