Wie gesagt, ich vermute mal es ist ein silicon bug mit im Spiel oder/und ein Bug im Pony. Von dem Problem hab ich schon öfter gehört, (weiß jetzt nicht mehr mit welchen Proggern).
Bei mir ist der Ablauf so: Zum Brennen wird per make-Target ein sh-script gestartet. Das script bekommt die mcu geliefert. Es schreibt ne tmp-datei und startet danach pony.
Makefile:
Code:BURN_SCRIPT = /d/avr/bin/burn-prog.sh .PHONY: burn burn: $(PRG).hex sh $(BURN_SCRIPT) $< $(MCU_TARGET)
burn-prog.sh
Dateinamen musst du natürlich anpassen. Die Stellen findest du. In dem Script steht noch etwas Müll rumCode:#!/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=PROG 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 read FUSE...\"" >> $burn echo "READ-FUSE" >> $burn # LOAD-DATA eeprom.hex # echo "PAUSE \"Reinstöpseln, anschalten, und los geht's!\"" >> $burn # READ-CALIBRATION 0x3ff echo "call \"echo Erasing $target...\"" >> $burn echo "ERASE-ALL" >> $burn # echo "WRITE&VERIFY-ALL" >> $burn echo "call \"echo Writing PROG to $target...\"" >> $burn echo "WRITE-PROG" >> $burn $pony $burnden kannst du entsorgen.
Was genau gemacht wird wird dir klarer, wenn du in die erzeugte tmp-Datei reinguckst ($burn)







Zitieren

Lesezeichen