From 56d9bdd39ed36c36e9a61411b86c76d5228b2133 Mon Sep 17 00:00:00 2001 From: sicarius Date: Sun, 11 Feb 2007 18:32:03 +0000 Subject: Added lot's of code-files used during work --- source/ct-Bot/contrib/bot.map.zip | Bin 0 -> 4232 bytes source/ct-Bot/contrib/flash_n_fuse/STK200.bat | 39 +++++++++++++++ source/ct-Bot/contrib/flash_n_fuse/STK200Fuses.bat | 24 +++++++++ source/ct-Bot/contrib/flash_n_fuse/flash.bat | 21 ++++++++ source/ct-Bot/contrib/flash_n_fuse/flash.sh | 55 +++++++++++++++++++++ source/ct-Bot/contrib/flash_n_fuse/fuses.txt | 17 +++++++ source/ct-Bot/contrib/flash_n_fuse/hfuse.hex | 2 + source/ct-Bot/contrib/flash_n_fuse/lfuse.hex | 2 + source/ct-Bot/contrib/flash_n_fuse/loadusbtty.sh | 14 ++++++ source/ct-Bot/contrib/flash_n_fuse/lock.hex | 2 + source/ct-Bot/contrib/flash_n_fuse/setfuses.bat | 17 +++++++ source/ct-Bot/contrib/flash_n_fuse/setfuses.sh | 11 +++++ 12 files changed, 204 insertions(+) create mode 100644 source/ct-Bot/contrib/bot.map.zip create mode 100644 source/ct-Bot/contrib/flash_n_fuse/STK200.bat create mode 100644 source/ct-Bot/contrib/flash_n_fuse/STK200Fuses.bat create mode 100644 source/ct-Bot/contrib/flash_n_fuse/flash.bat create mode 100644 source/ct-Bot/contrib/flash_n_fuse/flash.sh create mode 100644 source/ct-Bot/contrib/flash_n_fuse/fuses.txt create mode 100644 source/ct-Bot/contrib/flash_n_fuse/hfuse.hex create mode 100644 source/ct-Bot/contrib/flash_n_fuse/lfuse.hex create mode 100644 source/ct-Bot/contrib/flash_n_fuse/loadusbtty.sh create mode 100644 source/ct-Bot/contrib/flash_n_fuse/lock.hex create mode 100644 source/ct-Bot/contrib/flash_n_fuse/setfuses.bat create mode 100644 source/ct-Bot/contrib/flash_n_fuse/setfuses.sh (limited to 'source/ct-Bot/contrib') 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 Binary files /dev/null and b/source/ct-Bot/contrib/bot.map.zip 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::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::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::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 +# +if [ $# != 1 ]; then + echo "Usage: flash.sh " + 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::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 +# +if [ $# != 1 ]; then + echo "Usage: setfuses.sh " + 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 -- cgit v1.2.3