Ich kann mit meinem USBASP und avrdude nur 1x programmieren. Danach meldet er: avrdude: error: program enable: target doesn't answer. 1 Resette ich den USBASP (direkter Reset auf dem USBASP uC mit aufgelöteten Taster), dann geht es wieder (1x). Ein usbreset 16C0:05DC muß natürlich folgen. Die Zielschaltung braucht dazu nicht resettet zu werden. Mir ist das früher nie aufgefallen. Ist das ein normales Verhalten? Kann man der USBASP SW mäßig resetten? Beim USBASP verhalten sich der China clone und der originale Fischl USBASP gleich. FW ist 2011-05-28 (für den China clone leicht modifiziert) avrdude ist Version 6.3-20171130 unter Debian 11. Edit: Jetzt wird es lustig: ruft man avrdude mit B -20 auf, dann funktioniert es mehrmals ohne Reset (natürlich entsprechend langsam). Es scheint, daß die Fischl FW da etwas buggy ist oder gibt es da einen Trick?
:
Bearbeitet durch User
Guten Morgen, da du keine Antworten erhältst, sollte dich nachdenklich stimmen. keiner von uns hat so etwas wirres bisher gelesen. Und ja je nach AVR µC Clock, muss man die Schreibgeschwindigkeit mit -B <µs> anpassen! Wie schnell es maximal sein darf, steht im Datenblatt. Vielleicht ein Tipp, da keiner deinen Testaufbau kennt: die ISP Leitungslängen sind begrenzt, aus Erfahrung muss man bei < 20 cm bleiben. Andreas B. schrieb: > Edit: Jetzt wird es lustig: ruft man avrdude mit B -20 auf, dann > funktioniert es mehrmals ohne Reset (natürlich entsprechend langsam). Es > scheint, daß die Fischl FW da etwas buggy ist oder gibt es da einen > Trick?
Nochmal: Beim erstmaligen programmieren (oder irgendein anderer lesender Zugriff auf den Tiny) geht alles mit max. Geschwindigkeit ohne Änderung des Testaufbaus. Dann muß der USBASP resettet werden um wieder mit voller Geschwindigkeit laufen zu können. Das mit den B -20 ist nur eine Krücke. Der Tiny841 läuft mit 8MHz.
Andreas B. schrieb: > Nochmal: Beim erstmaligen programmieren (oder irgendein anderer > lesender Zugriff auf den Tiny) geht alles mit max. Geschwindigkeit ohne > Änderung des Testaufbaus. > Dann muß der USBASP resettet werden um wieder mit voller Geschwindigkeit > laufen zu können. > Das mit den B -20 ist nur eine Krücke. Der Tiny841 läuft mit 8MHz. Guten Morgen, ja das kann natürlich sein, dass das bei dir so ist. Aber keiner von uns sieht dein Testaufbau, keiner von uns weiß, was du da genau machst! Das heißt:wie lange deine Kabel sind, und so weiter. Aber das schrieb ich ja schon mal, du musst alles offenlegen, damit wir die Chance erhalten selbst diese Erfahrung machen zu können. Der Parameter/Option -B 20 ist keine Gurke! Man braucht diesen in einigen Fällen. Viel Erfolg auf deinem Weg.
Karl M. schrieb: > Der Parameter/Option -B 20 ist keine Gurke! Man braucht diesen in > einigen Fällen. Ja, das weiß ich, aber eben nicht bei einem Tiny mit 8MHz. Der Testaufbau ist im übrigen uninteressant (20cm Kabel auf Steckbrett falls es Dich interessiert). Es ist absolut reproduzierbares Verhalten. Reset USBASP: geht mit fullspeed. USBASP einmal gelaufen: geht nur mit -B 20.
:
Bearbeitet durch User
Karl M. schrieb: > da du keine Antworten erhältst, sollte dich nachdenklich stimmen. Logisch, nachts um 5:00 schlafen die meisten noch, und danach machen sie sich erstmal Frisch und auf den Weg zur Arbeit. Für mich klingt das Problem nach einem Bug in der Firmware. Meine USBASP Sticks kann ich mehrmals nacheinander nutzen. Ich habe sie immer mit der vorinstallierten Firmware benutzt.
Stefan ⛄ F. schrieb: > Für mich klingt das Problem nach einem Bug in der Firmware. Meine USBASP > Sticks kann ich mehrmals nacheinander nutzen. Ich habe sie immer mit der > vorinstallierten Firmware benutz Für mich auch. Jetzt wäre natürlich interessant zu wissen, welche FW da installiert ist. Notfalls mache ich mich mal dran, die FW zu durchforsten.
Andreas B. schrieb: > Jetzt wäre natürlich interessant zu wissen, welche FW da > installiert ist. Ich kann Dir dazu nur sagen, dass meine Firmware den -B Parameter nicht unterstützt (erzeugt Warnungen) und auch keinen Jumper für die Geschwindigkeit hat. Sie versucht es zuerst "schnell" und wechselt dann ggf. automatisch zu "langsam". Wo man diese Version downloaden kann, weiß ich nicht. Auf der Seite von Herrn Fischl jedenfalls nicht.
Andreas B. schrieb: > Karl M. schrieb: >> Der Parameter/Option -B 20 ist keine Gurke! Man braucht diesen in >> einigen Fällen. > > Ja, das weiß ich, aber eben nicht bei einem Tiny mit 8MHz. > > Der Testaufbau ist im übrigen uninteressant (20cm Kabel auf Steckbrett > falls es Dich interessiert). Es ist absolut reproduzierbares Verhalten. > Reset USBASP: geht mit fullspeed. > USBASP einmal gelaufen: geht nur mit -B 20. Klingt für mich nicht nach einem Problem mit usbasp. Die Fehlermeldung sagt klar, daß die Kommunikation mit dem Target falsch läuft. Mir sind da auch noch zu viele Fragen offen: 1. ist da ein Programm auf dem Target? Stellt das vielleicht am Takt rum? Mit welchem Takt läuft der Tiny wirklich? 2. Verbindung zum Target klappt ja wohl mit -B 20 (entsprechend ISP-Frequenz <= 50kHz). Klappt es auch für andere Frequenzen, insbesondere für höhere? Meine usbasp (ein Eigenbau, zwei Typen Chinaböller) zeigen jedenfalls kein derartiges Verhalten. Ich habe jeweils die letzte Fischl-Firmware (2011-05-28) mit dem Patch für PDI (https://szulat.blogspot.com/2012/08/atxmega-programmer-for-050.html) drauf.
:
Bearbeitet durch User
Axel S. schrieb: > 1. ist da ein Programm auf dem Target? Stellt das vielleicht am Takt > rum? Mit welchem Takt läuft der Tiny wirklich? Schrieb ich oben: 8 MHz, Programm ändert den Takt nicht. > 2. Verbindung zum Taget klappt mit -B 20 (entsprechend ISP-Frequenz <= > 50kHz). Klappt es auch für andere Frequenzen, insbesondere für höhere? nein. -B 20 ist das Minimum. Es scheint das Problem immer noch nicht verstanden zu werden: Wenn ich den USBASP resette, kann ich mit vollen Takt so oft den gleichen Tiny flashen wie ich will (wenn ich nach jedem flashen den USBASP wieder resette) -B 20 ist für 8MHz normalerweise nicht notwendig.
Kann mich an solche Effekte erinnern, als ich den µC des USBASP, mit 3,3V betrieben habe und das Target mit 5V. Dann hat selbiges zeitweise den Programmer mit der MISO-Leitung über die Schutzdioden "hochgezogen". In diesem Falle hat ein 5k-Widerstand in der MISO-Leitung geholfen. Der original-USBASP wird aber, so ich mich erinnern kann, mit 5V betrieben, mit Widerständen und Zenerdioden an den USB-Leitungen, da würde das Problem höchstens andersherum bestehen, das ein 3,3V-Target über die MOSI und SCK-Leitung hochgezogen werden würde. Wobei auch hier wieder Strombegrenzungswiderstände in diesen Leitungen helfen würden.
Ingo W. schrieb: > Kann mich an solche Effekte erinnern, als ich den µC des USBASP, mit > 3,3V betrieben habe und das Target mit 5V. leider ist es das nicht. Der Tiny wird mit 5V aus dem USBASP versorgt. Auch mit externer Versorgung habe ich den gleichen Effekt. Ich habe jetzt mal alle Masseleitungen abgezogen, die da zu Testzwecken noch dranhingen (Oszi, Labornetzteil): Kein Unterschied. Für die ungläubigen: ;-) Anbei mal ein Bild. Die gelbe Leitung hinten ist frei. Fuses: E:F5 (both BOD active), H:DC (BOD 5V), L:E2 (set to 8MHz) Wenn ich mehrere Male flashen will, habe ich 2 Möglichkeiten: a) Reset am UC des USBASP machen und > usbreset 16C0:05DC auf die Konsole schicken, um den USB port wieder zu reaktivieren b) mit Parameter -B 20 flashen
Andreas B. schrieb: > b) mit Parameter -B 20 flashen Hast du dir mal mit einem Oszi den Takt angesehen? Vielleicht ist ja die Taktumschalterei irgendwie in der Firmware falsch gezimmert? Wenn du noch einen anderen ISP-Programmierer hast, kannst du dir natürlich auch jederzeit eine neue Firmware in das USBasp flashen.
Andreas B. schrieb: > Für die ungläubigen: ;-) > Anbei mal ein Bild Fehlt da etwa der (immer notwendige) Abblock-Kondensator an VCC+GND?
Jörg W. schrieb: > Hast du dir mal mit einem Oszi den Takt angesehen? Vielleicht ist ja die > Taktumschalterei irgendwie in der Firmware falsch gezimmert? Ich schaue mir das morgen mal an. (jetzt ist es hier kurz vor Mitternacht) Ich werde dann mal den Flashvorgang vor und nach dem Reset vergleichen. > > Wenn du noch einen anderen ISP-Programmierer hast, kannst du dir > natürlich auch jederzeit eine neue Firmware in das USBasp flashen. Von den Alu Dingern habe ich einige. Überall mit der modifizierten FW vom 2011-05-28 (also offiziell die aktuellste) drauf. Wenn Du noch eine andere hast... Der Mod betrifft nur die Initialisierung des DDRD nach: http://irq5.io/2017/07/25/making-usbasp-chinese-clones-usable/ weil bei den China ISP PD3 und PB0 verbunden sind und dann gegeneinander treiben. Den originalen Fischl und einen anderen China USBASP habe ich auch. Überall das Gleiche (mit der gleichen FW). Vielleicht sollte ich auch mal einen anderen Tiny als den 841 versuchen. Irgendwie interessiert mich schon warum das so ist.
Stefan ⛄ F. schrieb: > Fehlt da etwa der (immer notwendige) Abblock-Kondensator an VCC+GND? Nö, der ist direkt am Tiny angelötet. ;-) Sieht man etwas undeutlich neben den blauen Kabel. Vcc ist Pin 1 und GND ist Pin 14
Jetzt folgen noch ein paar interessante Resultate: a) am Oszi sehe ich am Clock keinen Unterschied. Das ist aber auch schwer zu erkennen, weil ich nur an den Anfang (Reset fallend) triggern kann. Das, was ich bis dahin sehe, ist vom Takt her gleich. b) habe ich als Target einen anderen ATMega88 (der mit Quarz 12 MHz läuft) dann zeigt sich dieser Effekt nicht. Ich kann immer mit vollen Takt programmieren. c) den Tiny841 (RC 8MHz) habe ich mal direkt ohne Steckbrett als Target an den Programmer gehängt. Er zeigt immer noch das gleiche Verhalten: Das erste Mal full speed, dann nur noch mit -B 20. Entweder sind die 8MHz so gerade an der Grenze, was aber dieses reproduzierbare Verhalten nicht erklärt. Oder aber, der Tiny841 verhält sich etwas anders bei Programmieren (ist ja eine neuere Generation von AVR). Das erscheint mir im Moment etwas wahrscheinlicher. Immerhin ist der neuer (2014-2015) als die Fischl FW (2011). Dazu müßte man mal das DB etwas erforschen. Alles in allem: es scheint eine zeitfressende Geschichte zu werden. Mal schauen, wann ich die Zeit dazu finde. Im Moment nehme ich das Verhalten einfach mal so hin.
So, nochmal auf GIT gesucht und Problem gelöst. Diese FW läuft super ohne Änderung (er kennt die China ISP wohl schon): https://github.com/bperrybap/usbasp/tree/1.06-alpha Da wurde einiges überarbeitet.
Andreas B. schrieb: > habe ich als Target einen anderen ATMega88 ... > dann zeigt sich dieser Effekt nicht. > der Tiny841 ... zeigt immer noch das gleiche Verhalten Dann könnte es sein, dass meine Sticks vom gleichen Problem betroffen sind. Ich habe bisher keine Tiny841 programmiert. Meine vorherige Aussage, dass ich das Problem noch nicht hatte gilt nur für ATtiny13A, ATtiny45, ATtiny2313A und Atmega328P. > Oder aber, der Tiny841 verhält sich etwas anders bei Programmieren Ja, scheint so
Stefan ⛄ F. schrieb: > Ich habe bisher keine Tiny841 programmiert. Wenn es soweit ist, weißt Du ja wo Du die FW dafür herbekommst. ;-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.