Was meinst du mit "aus WinAVR heraus"? Welche Oberfläche verwendest du denn? Den pn (Programmers Notepad)? Pony kannst du skripten, und z.b. aus pn aus aufrufen bzw. eine make-Regel machen, die dir ein reset macht oder das Programm brennt.
Makefile: Hier wird das Skript aufgerufen, mit "make burn". Evtl musst du das an dein Makefie anpassen bzw. Pfade ändern.
Übrigens solltest du in Pfadnamen NIE Leerzeichen verwenden und auch KEINE Umlaute/Ligaturen!
Code:
PRG = das_programm
MCU_TARGET = atmega8
BURN_SCRIPT = /d/avr/bin/burn.sh
.PHONY: burn
burn:
sh $(BURN_SCRIPT) $(PRG).hex $(MCU_TARGET)
burn.sh ist ein Shell-Skript, das die Aufgabe übernimmt. Die Pfade musst du natürlich anpassen und evtl auch die Pony-Befehle, wenn du was anderes nachen willst z.B. auch ein Verify. Es wäre auch möglich, die temporäre Datei direkt im Makefiel zu erzeugen, aber das ist nur sehr schlecht lesbar. Die Pony-Kommandos findest du in der Pony-Doku.
Code:
#!/bin/sh
burn=e:/temp/burn-tmp.e2s
pony=e:/PonyProg2000/PONYPROG2000.EXE
case $2 in
at90s2313)
target=AT90S2313
;;
atmega8)
target=ATmega8
;;
at90s8515)
target=AT90S8515
;;
*)
echo !!! Unknown Target $2;
exit 1;
;;
esac
portion=ALL
echo Burning $1 for $target
rm -rf $burn
echo "# generated file" > $burn
EEPROM_FILE=`basename $1 .hex`_eeprom.hex
#------ START --------
#Programming sequence
echo "SELECTDEVICE $target" >> $burn
echo "call \"echo Clearing buffer...\"" >> $burn
echo "CLEARBUFFER" >> $burn
echo "call \"echo Loading PROG from $1...\"" >> $burn
echo "LOAD-PROG $1" >> $burn
echo "call \"echo Loading DATA from $EEPROM_FILE...\"" >> $burn
echo "LOAD-DATA $EEPROM_FILE" >> $burn
# echo "PAUSE \"Reinstöpseln, anschalten, und los geht's!\"" >> $burn
echo "call \"echo Writing $portion to $target...\"" >> $burn
echo "WRITE-$portion" >> $burn
$pony $burn
Lesezeichen