Added lot's of code-files used during work
This commit is contained in:
parent
644121b478
commit
56d9bdd39e
155 changed files with 23423 additions and 0 deletions
39
source/ct-Bot/contrib/flash_n_fuse/STK200.bat
Normal file
39
source/ct-Bot/contrib/flash_n_fuse/STK200.bat
Normal file
|
@ -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
|
24
source/ct-Bot/contrib/flash_n_fuse/STK200Fuses.bat
Normal file
24
source/ct-Bot/contrib/flash_n_fuse/STK200Fuses.bat
Normal file
|
@ -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
|
21
source/ct-Bot/contrib/flash_n_fuse/flash.bat
Normal file
21
source/ct-Bot/contrib/flash_n_fuse/flash.bat
Normal file
|
@ -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
|
55
source/ct-Bot/contrib/flash_n_fuse/flash.sh
Normal file
55
source/ct-Bot/contrib/flash_n_fuse/flash.sh
Normal file
|
@ -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
|
17
source/ct-Bot/contrib/flash_n_fuse/fuses.txt
Normal file
17
source/ct-Bot/contrib/flash_n_fuse/fuses.txt
Normal file
|
@ -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
|
2
source/ct-Bot/contrib/flash_n_fuse/hfuse.hex
Normal file
2
source/ct-Bot/contrib/flash_n_fuse/hfuse.hex
Normal file
|
@ -0,0 +1,2 @@
|
|||
:01000000D926
|
||||
:00000001FF
|
2
source/ct-Bot/contrib/flash_n_fuse/lfuse.hex
Normal file
2
source/ct-Bot/contrib/flash_n_fuse/lfuse.hex
Normal file
|
@ -0,0 +1,2 @@
|
|||
:01000000FF00
|
||||
:00000001FF
|
14
source/ct-Bot/contrib/flash_n_fuse/loadusbtty.sh
Normal file
14
source/ct-Bot/contrib/flash_n_fuse/loadusbtty.sh
Normal file
|
@ -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
|
||||
|
2
source/ct-Bot/contrib/flash_n_fuse/lock.hex
Normal file
2
source/ct-Bot/contrib/flash_n_fuse/lock.hex
Normal file
|
@ -0,0 +1,2 @@
|
|||
:010000003FC0
|
||||
:00000001FF
|
17
source/ct-Bot/contrib/flash_n_fuse/setfuses.bat
Normal file
17
source/ct-Bot/contrib/flash_n_fuse/setfuses.bat
Normal file
|
@ -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
|
11
source/ct-Bot/contrib/flash_n_fuse/setfuses.sh
Normal file
11
source/ct-Bot/contrib/flash_n_fuse/setfuses.sh
Normal file
|
@ -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
|
Reference in a new issue