summaryrefslogtreecommitdiffstats
path: root/source/ct-Bot/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'source/ct-Bot/contrib')
-rw-r--r--source/ct-Bot/contrib/bot.map.zipbin0 -> 4232 bytes
-rw-r--r--source/ct-Bot/contrib/flash_n_fuse/STK200.bat39
-rw-r--r--source/ct-Bot/contrib/flash_n_fuse/STK200Fuses.bat24
-rw-r--r--source/ct-Bot/contrib/flash_n_fuse/flash.bat21
-rw-r--r--source/ct-Bot/contrib/flash_n_fuse/flash.sh55
-rw-r--r--source/ct-Bot/contrib/flash_n_fuse/fuses.txt17
-rw-r--r--source/ct-Bot/contrib/flash_n_fuse/hfuse.hex2
-rw-r--r--source/ct-Bot/contrib/flash_n_fuse/lfuse.hex2
-rw-r--r--source/ct-Bot/contrib/flash_n_fuse/loadusbtty.sh14
-rw-r--r--source/ct-Bot/contrib/flash_n_fuse/lock.hex2
-rw-r--r--source/ct-Bot/contrib/flash_n_fuse/setfuses.bat17
-rw-r--r--source/ct-Bot/contrib/flash_n_fuse/setfuses.sh11
12 files changed, 204 insertions, 0 deletions
diff --git a/source/ct-Bot/contrib/bot.map.zip b/source/ct-Bot/contrib/bot.map.zip
new file mode 100644
index 0000000..68d740f
--- /dev/null
+++ b/source/ct-Bot/contrib/bot.map.zip
Binary files differ
diff --git a/source/ct-Bot/contrib/flash_n_fuse/STK200.bat b/source/ct-Bot/contrib/flash_n_fuse/STK200.bat
new file mode 100644
index 0000000..156e122
--- /dev/null
+++ b/source/ct-Bot/contrib/flash_n_fuse/STK200.bat
@@ -0,0 +1,39 @@
+rem Aufruf von Avrdude zur Programmierung c't-Bot
+
+rem (Unten sollte zunaechst der Pfad angepasst werden)
+
+rem Batchdatei fuer Programmieradapter STK200 und viele baugleiche Programmer am Parallelport
+rem
+rem von andreas Staudenmayer (andreas.staudenmayer@t-online.de)
+rem angepasst fuer STK200 (rl@loehmer.de)
+rem Parameter
+rem
+rem -p m32 fuer ATMega32
+rem -c stk200 Adapter kompatibel zu stk200
+rem -P lpt1 Adapter installiert auf lpt1
+rem -u disable safemode, um fusebits setzen zu koennen
+rem -U flash:w:<Datei>:i Programmdatei, die geschrieben werden soll, wird als erster Batch Parameter uebergeben
+rem
+rem -U lfuse:w:lfuse.hex:i lowfusebits setzen, Inhalt Bin-Datei lfuse.hex: FF
+rem -U hfuse:w:hfuse.hex:i highfusebits setzen, Inhalt Bin-Datei hfuse.hex: D9
+rem -U lock:w:lock.hex:i lockbits setzen, Inhalt Bin-Datei lock.hex: 3F
+rem -F Signatur des Chips lesen
+rem -v geschwaetzige Ausgabe
+rem -E reset Reset wenn fertig
+rem -e Chip loeschen
+
+rem Moeglichkeit 1:
+rem Verknuepfung auf avrdude-Batchdatei auf dem Desktop ablegen,
+rem "Fallenlassen" einer Hex-Datei auf diese Verknuepfung startet
+rem den Programmierprozess
+
+rem Moeglichkeit 2:
+rem Nutzung von ECLIPSE 'External Tools'
+rem kurze Anleitung :
+rem http://www.ctbot.de/forum/fuse-bits-t108-15.html#2372
+
+
+rem !!!Anfuehrungsstriche sind wichtig bei Pfaden mit Leerstellen!!!
+rem Die naechste Zeile ist schon alles! Pfad fuer AVRDUDE anpassen!
+
+"D:\Programme\WinAVR\bin\avrdude" -p m32 -c stk200 -P lpt1 -U flash:w:%1:i -e -F -v -E reset \ No newline at end of file
diff --git a/source/ct-Bot/contrib/flash_n_fuse/STK200Fuses.bat b/source/ct-Bot/contrib/flash_n_fuse/STK200Fuses.bat
new file mode 100644
index 0000000..c153560
--- /dev/null
+++ b/source/ct-Bot/contrib/flash_n_fuse/STK200Fuses.bat
@@ -0,0 +1,24 @@
+rem Aufruf von Avrdude zur Programmierung c't-Bot
+rem Setzen der Fuses/Locks ist EINMALIG vor der ersten Programmierung NOTWENDIG
+rem weiteres hier: http://www.heise.de/ct/ftp/projekte/ct-bot/faq/f.shtml
+
+rem (Unten sollte zunaechst der Pfad angepasst werden)
+
+rem Batchdatei fuer Programmieradapter STK200 und viele baugleiche Programmer am Parallelport
+rem
+rem von andreas Staudenmayer (andreas.staudenmayer@t-online.de)
+rem angepasst fuer STK200 (rl@loehmer.de)
+rem Parameter
+rem
+rem -p m32 fuer ATMega32
+rem -c stk200 Adapter kompatibel zu stk200
+rem -P lpt1 Adapter installiert auf lpt1
+rem -u disable safemode, um fusebits setzen zu koennen
+rem -U flash:w:<Datei>:i Programmdatei, die geschrieben werden soll, wird als erster Batch Parameter übergeben
+rem
+rem -U lfuse:w:lfuse.hex:i lowfusebits setzen, Inhalt Bin-Datei lfuse.hex: FF
+rem -U hfuse:w:hfuse.hex:i highfusebits setzen, Inhalt Bin-Datei hfuse.hex: D9
+rem -U lock:w:lock.hex:i lockbits setzen, Inhalt Bin-Datei lock.hex: 3F
+
+rem auch hier den Pfad setzen
+"D:\Programme\WinAVR\bin\avrdude" -p m32 -c stk200 -P lpt1 -u -U lfuse:w:lfuse.hex:i -U hfuse:w:hfuse.hex:i -U lock:w:lock.hex:i \ No newline at end of file
diff --git a/source/ct-Bot/contrib/flash_n_fuse/flash.bat b/source/ct-Bot/contrib/flash_n_fuse/flash.bat
new file mode 100644
index 0000000..3993431
--- /dev/null
+++ b/source/ct-Bot/contrib/flash_n_fuse/flash.bat
@@ -0,0 +1,21 @@
+rem Aufruf von Avrdude zur Programmierung c't-Bot
+rem Batchdatei für Programmieradapter mysmartUSB
+rem
+rem von andreas Staudenmayer (andreas.staudenmayer@t-online.de)
+rem Parameter
+rem
+rem -p m32 für ATMega32
+rem -c avr910 Adapter kompatibel zu avr910
+rem -P com5 Adapter installiert auf com5
+rem -u disable safemode, um fusebits setzen zu können
+rem -U flash:w:<Datei>:i Programmdatei, die geschrieben werden soll, wird als erster Batch Parameter übergeben
+rem
+rem -U lfuse:w:lfuse.hex:i lowfusebits setzen, Inhalt Bin-Datei lfuse.hex: FF
+rem -U hfuse:w:hfuse.hex:i highfusebits setzen, Inhalt Bin-Datei hfuse.hex: D9
+rem -U lock:w:lock.hex:i lockbits setzen, Inhalt Bin-Datei lock.hex: 3F
+
+rem Verknüpfung auf avrdud-Batchdatei auf dem Desktop ablegen,
+rem "Fallenlassen" einer Hex-Datei auf diese Verknüfpung startet
+rem den Programmierprozess
+
+avrdude -p m32 -c avr910 -P com5 -U flash:w:%1:i \ No newline at end of file
diff --git a/source/ct-Bot/contrib/flash_n_fuse/flash.sh b/source/ct-Bot/contrib/flash_n_fuse/flash.sh
new file mode 100644
index 0000000..3a386e3
--- /dev/null
+++ b/source/ct-Bot/contrib/flash_n_fuse/flash.sh
@@ -0,0 +1,55 @@
+#!/bin/sh
+# echo program C't-Bot with avrdude and mySmartUSB
+#
+# echo Usage: flash.sh <filename>
+#
+if [ $# != 1 ]; then
+ echo "Usage: flash.sh <filename>"
+ exit 1;
+fi
+# now check if the fuses are set correctly
+# use temporary file names in /tmp for it
+lowtemp="$(mktemp /tmp/lfuse.XXXXX)"
+hightemp="$(mktemp /tmp/hfuse.XXXXX)"
+locktemp="$(mktemp /tmp/lock.XXXXX)"
+
+# read fuses
+avrdude -p m32 -c avr910 -P /dev/ttyUSB0 -U lfuse:r:$lowtemp:i \
+ -U hfuse:r:$hightemp:i -U lock:r:$locktemp:i >/dev/null 2>&1
+if [ $? != "0" ]; then
+ echo "Error while reading fuses!"
+ exit 1
+fi
+
+fuses_ok=1
+# now compare the values with the correspondent .hex file
+cmp -n 13 lfuse.hex $lowtemp >/dev/null 2>&1
+if [ $? != "0" ]; then
+ echo "low fuse doesn't fit!"
+ fuses_ok=0;
+fi
+cmp -n 13 hfuse.hex $hightemp >/dev/null 2>&1
+if [ $? != "0" ]; then
+ echo "high fuse doesn't fit!"
+ fuses_ok=0;
+fi
+cmp -n 13 lock.hex $locktemp >/dev/null 2>&1
+if [ $? != "0" ]; then
+ echo "lock byte doesn't fit!"
+ fuses_ok=0;
+fi
+
+
+# clean up temp files
+rm $lowtemp
+rm $hightemp
+rm $locktemp
+
+# if some or all fuses were wrong, give hint and bail out
+if [ $fuses_ok != "1" ]; then
+ echo "Please correct your fuses with setfuses.sh, else you'll probably get locked out from your MCU!"
+ exit 2;
+fi
+
+# all fuses ok, now program flash
+avrdude -p m32 -c avr910 -P /dev/ttyUSB0 -e -U flash:w:$1:i
diff --git a/source/ct-Bot/contrib/flash_n_fuse/fuses.txt b/source/ct-Bot/contrib/flash_n_fuse/fuses.txt
new file mode 100644
index 0000000..368a043
--- /dev/null
+++ b/source/ct-Bot/contrib/flash_n_fuse/fuses.txt
@@ -0,0 +1,17 @@
+Die drei Hex-Dateien hfuse.hex, lfuse.hex und lock.hex
+sind nur für ATmega32-Prozessoren geeignet.
+Die Dateien sind im Intel-Hex-Format.
+
+
+Mit der Programmiersoftware avrdude, die zum Beispiel bei WINAVR dabei ist kann man:
+
+1. Seine eigenen Fuses wie folgt auslesen:
+avrdude -p m32 -c stk200 -P lpt1 -U lfuse:r:lfuse.hex:i -U hfuse:r:hfuse.hex:i -U lock:r:lock.hex:i
+
+2. Die hier stehenden Dateien schreiben:
+avrdude -p m32 -c stk200 -P lpt1 -u -U lfuse:w:lfuse.hex:i -U hfuse:w:hfuse.hex:i -U lock:w:lock.hex:i
+
+Dabei muss man die -c und -P Paramter an den jeweiligen Programmieradpter anpassen.
+
+Für den ISP-Adapter aus dem BlueMP3-Projekt gilt, sofern er an der ersten Druckerschnittstelle (LPT1 hängt:
+-c stk200 -P lpt1
diff --git a/source/ct-Bot/contrib/flash_n_fuse/hfuse.hex b/source/ct-Bot/contrib/flash_n_fuse/hfuse.hex
new file mode 100644
index 0000000..794961a
--- /dev/null
+++ b/source/ct-Bot/contrib/flash_n_fuse/hfuse.hex
@@ -0,0 +1,2 @@
+:01000000D926
+:00000001FF
diff --git a/source/ct-Bot/contrib/flash_n_fuse/lfuse.hex b/source/ct-Bot/contrib/flash_n_fuse/lfuse.hex
new file mode 100644
index 0000000..05b6588
--- /dev/null
+++ b/source/ct-Bot/contrib/flash_n_fuse/lfuse.hex
@@ -0,0 +1,2 @@
+:01000000FF00
+:00000001FF
diff --git a/source/ct-Bot/contrib/flash_n_fuse/loadusbtty.sh b/source/ct-Bot/contrib/flash_n_fuse/loadusbtty.sh
new file mode 100644
index 0000000..930ac87
--- /dev/null
+++ b/source/ct-Bot/contrib/flash_n_fuse/loadusbtty.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+# create ttyUSB0 device and load module for cp2101
+
+if [ ! -c /dev/ttyUSB0 ]; then
+ mknod -m 666 /dev/ttyUSB0 c 188 0
+fi
+
+if [ -z $(lsmod |cut -d" " -f1 |grep "cp2101") ]; then
+ modprobe cp2101 >/dev/null 2>&1
+ if [ $? != "0" ]; then
+ exit 1;
+ fi
+fi
+
diff --git a/source/ct-Bot/contrib/flash_n_fuse/lock.hex b/source/ct-Bot/contrib/flash_n_fuse/lock.hex
new file mode 100644
index 0000000..9223968
--- /dev/null
+++ b/source/ct-Bot/contrib/flash_n_fuse/lock.hex
@@ -0,0 +1,2 @@
+:010000003FC0
+:00000001FF
diff --git a/source/ct-Bot/contrib/flash_n_fuse/setfuses.bat b/source/ct-Bot/contrib/flash_n_fuse/setfuses.bat
new file mode 100644
index 0000000..39bf741
--- /dev/null
+++ b/source/ct-Bot/contrib/flash_n_fuse/setfuses.bat
@@ -0,0 +1,17 @@
+rem Aufruf von Avrdude zur Programmierung c't-Bot
+rem Batchdatei für Programmieradapter mysmartUSB
+rem
+rem von andreas Staudenmayer (andreas.staudenmayer@t-online.de)
+rem Parameter
+rem
+rem -p m32 für ATMega32
+rem -c avr910 Adapter kompatibel zu avr910
+rem -P com5 Adapter installiert auf com5
+rem -u disable safemode, um fusebits setzen zu können
+rem -U flash:w:<Datei>:i Programmdatei, die geschrieben werden soll, wird als erster Batch Parameter übergeben
+rem
+rem -U lfuse:w:lfuse.hex:i lowfusebits setzen, Inhalt Bin-Datei lfuse.hex: FF
+rem -U hfuse:w:hfuse.hex:i highfusebits setzen, Inhalt Bin-Datei hfuse.hex: D9
+rem -U lock:w:lock.hex:i lockbits setzen, Inhalt Bin-Datei lock.hex: 3F
+
+avrdude -p m32 -c avr910 -P com5 -u -U lfuse:w:lfuse.hex:i -U hfuse:w:hfuse.hex:i -U lock:w:lock.hex:i \ No newline at end of file
diff --git a/source/ct-Bot/contrib/flash_n_fuse/setfuses.sh b/source/ct-Bot/contrib/flash_n_fuse/setfuses.sh
new file mode 100644
index 0000000..0c02970
--- /dev/null
+++ b/source/ct-Bot/contrib/flash_n_fuse/setfuses.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+# echo program C't-Bot with avrdude and mySmartUSB
+#
+# echo Usage: setfuses.sh <filename>
+#
+if [ $# != 1 ]; then
+ echo "Usage: setfuses.sh <filename>"
+ exit 1;
+fi
+
+avrdude -p m32 -c avr910 -P /dev/ttyUSB0 -e -u -U lfuse:w:lfuse.hex:i -U hfuse:w:hfuse.hex:i -U lock:w:lock.hex:i \ No newline at end of file