Hallo,
ich bin gerade dabei, einen AVR-ISP-Programmer zu implementieren, der via STK500v2-Protokoll mit avrdude kommuniziert. An für sich funktioniert mein (Asm-)Programm soweit, nur habe ich beim Befehl CMD_PROGRAM_FLASH_ISP bisher im Falle eines angeforderten 'value polling' dieses durch eine feste Wartezeit von 5 ms ersetzt, weil mir dessen genaue Funktion im Zusammenspiel mit STK500v2 nicht klar ist.
Die AppNote AVR068 sagt dazu nur:
"When value polling is used to determine when a programming operation is complete, poll1 must be supplied. This value indicates which value will be read from the device until the programmed value is read."
Daraus geht für mich aber nicht hervor, /auf welche Adresse/ sich das poll1-Byte bezieht, also von welcher genauen Adresse ein Byte zurückgelesen und mit 'poll1' verglichen werden soll. Denn es wird ja mit dem Befehl CMD_PROGRAM_FLASH_ISP bis zu einer ganzen Page gleichzeitig geliefert. Soll das bspw. die erste Adresse sein, die per CMD_LOAD_ADDRESS übertragen wurde, oder die letzte Adresse der geladenen Page?
Weitere Angaben dazu gibt's in der AppNote nicht. Ich wäre sehr dankbar, wenn jemand Klarheit schaffen könnte.
Grüße
P.S.: Ja, ich hatte diesen Thread bereits gestern Abend gepostet und kurz darauf wieder gelöscht, weil ich dachte, ich hätte eine Lösung gefunden, war dann aber doch nicht der Fall.