Hallo! Die Laderei mit ISP geht zwar unter Linux ganz problemlos, dauert mir aber zu lange. Etwa 1:50 Min. für 5,5 Kb... Gibts was Schnelleres? OHNE extra Bootloader (kein Platz). Brauche ich dazu ein neues/anderes Kabel? z.Zt habe ich nur ein selbstgebasteltes Printerport-Kabel, mit ein paar 220Ohm Widerständen und fertig. Also, weiss was? e.
Aktuelles avrdude benutzt? Das ist um einiges schneller geworden als vorherigen Versionen (dank Jan-Hinnerk's Arbeit). Was für ein Prozessor? Ich schreibe 3 KB in 4,7 Sekunden auf einen ATmega128. Ein nicht seitenweise beschreibbarer Controller (also kleiner als ATmega) wird allerdings länger brauchen. Ist auch simpel am Parallelport, allerdings ein 74x367 dazwischen. OS ist FreeBSD, aber die Parallelportansteuerung zwischen Linux' parport(4) und FreeBSD's ppi(4) dürfte sich nicht drastisch unterscheiden. Ansonsten: parallele Programmierung dürfte schneller sein, erfordert aber ein separates Programmiergerät.
Ja, sorry, der Prozessor: AT90s8535, eben exakt das AVRCtrl-Board. Seitenweise beschreibbar - kenn die AVR-Details noch nicht genug, keine Ahnung... Avrdude - nein, bis jetzt nicht benutzt, benutze "isp". Geht avrdude auch mit dem einfachen Kabel, was ich hab? Wie gesagt: mit "isp" 1 Minute 50 Sekunden fuer 5,5Kb e.
Hi nimm AVRDude. Das dürfte um einiges (ich schätze mal mind. Faktor 5) schneller sein als isp (was immer das ist). AVRDude sollte mit jedem parallen Kabel klarkommen. Evtl. mußt du die avrdude.conf anpassen aber das dürfe einem Linux-Nutzer ja nicht fremd sein ;-) Matthias
Danke, ich werds versuchen. Aber nicht mehr heute abend, bin im Moment viel mehr dabei, endlich V1.5 meiner AVR-Demo fertigzustellen (das ist alles so eine Art selbst auferlegte Uebung unm den AVR und den avr-gcc besser kennen zu lernen). Habe nun auch einen DCF-77 Dekoder eingebaut, der auch schon was tut. Muss es noch testen, und wasserdicht machen. Dann wird avrdude probiert. Danke und bis denne e.
Die alten AT90xxx MCUs sind noch nicht seitenweise beschreibbar, d. h. für jedes Byte muß einzeln gewartet werden, bis es geschrieben ist. Habe gerade keinen derartigen Controller greifbar, um zu testen, wie schnell avrdude damit ist.
Hi ein 2313 (der ist ja auch nur byteweise beschreibbar) wird in unter 10s voll (2k) beschrieben. Also sollten die 5,5k max. 25s benötigen. Matthias
Hi, also erstmal bedeutet ISP "In-System-Programming". Also der serielle Programmiermodus. Diesen Modus verwendet PonyProg, AVRDude, Yapp usw. Nimmt man den original Atmel-Programmer und das AVRStudio läuft alles wie geschmiert. Zum kompletten Auslesen des Mega128 mit PonyProg brauchte ich über 10 Minuten, mit dem Atmel-Programmer (bzw. dem STK500) und dem AVRStudio nur einige Sekunden! Der Atmel-Programmer kostet bei www.tec-shop.de übrigens nur 50 Euro. Sebastian
Naja, vom miserablen Ponyprog mußt Du nicht auf eine generelle Untauglichkeit der Methode schließen. ,,Wenige Sekunden'' ist schon ein bißchen übertrieben. Ich brauche mit avrdude über die parallele Schnittstelle 180 s für die 128 KB eines ATmega128 (unter FreeBSD, könnte sein, daß der direkte Zugriff unter Windows sogar noch schneller wäre), mit einem AVR ISP brauche ich 75 s. AVaRICE kann leider nicht in eine Datei lesen, so ich das daß via JTAG ICE jetzt nicht vergleichen kann. ,,Nur'' EUR 50 ist auch gut :-), wenn man als Vergleich einen EUR 5 Programmer hat. Es gibt natürlich gute Gründe, warum man dennoch STK500 Protokoll Programmer haben will. Zuallererst wäre da der Fall zu nennen, daß man mit einer seriellen Schnittstelle geplagt ist, die am USB hängt... Kostet übrigens bei allen möglichen Versendern so um die EUR 50 (Reichelt 48, Segor 54).
Hi Jörg, also PonyProg hat auf jeden Fall über 10 Minuten gebraucht - ich habe es interessehalber mal gestoppt. Liegt vielleicht auch an meinem seriellen Programmer. Für ca. 30KB für meinen Mega128 brauche ich so 8-10 Sekunden. Schalte ich die Vertifizierung ein, dann eben die doppelte Zeit. 50 Euro sind natürlich auch 50 Euro - aber so schnell wie's jetzt gegenüber Pony geht, war's mir das allemal wert. Das spart jede Menge Nerven. Sebastian
Habe eben nochmal ausprobiert: via JTAG ICE und AVaRICE komme ich auf 40 s Schreibzeit für einen vollen ATmega128. Kann man also offenbar auch benutzen. ;-)
Vor lauter Doku lesen komme ich nicht mehr zum arbeiten. Hat den irgendeiner eine auf den AVRCtrl abgestimme avrdude.conf? Dann spar ich mir diesesmal ausnahmsweise die ganze Leserei...
Also ich komm da nicht weiter. Welchen Programmer muss ich denn einstellen, wenn ich nur das Programmierkabel vom Parallelport habe, das an die AVR-Pins SCK/MI/MO geht? Wer weiss es?
Hängt von Deinem Kabel ab. ;-) Es gibt ziemlich viele Varianten, wie man das verdrahten kann... Der Parallelport hat 14 Ausgänge und 6 Eingänge, ISP braucht 3 Ausgänge und 1 Eingang. Kombinatorik war nie meine große Stärke :), ich würde das anderen überlassen auszurechnen, wie viele mögliche Verdrahtungskombinationen es dafür gibt. ;-)
Na die Belegung stammt von dieser Site hier... Printer Port ATMEL Pin:6 (D4) RESET Pin:7 (D5) MOSI Pin:8 (D6) SCK Pin:10 (ACK) MISO Pin:20 (GND) GND
Also vermurtlich muesste das in avrdude.conf etwa so aussehen: programmer id = "mnpk"; desc = "Mikrocontroller.Net Programmier-Kabel"; type = par; vcc = ????????????? reset = 6; sck = 8; mosi = 7; miso = 10; Was ist allerdings mit Pin20, GND, braucht der keinen Eintrag? Was muss ich bei "vcc" eintragen?
Ach ja: wenn die Ausgänge auf die Ausgänge abgebildet werden, und die Eingänge auf die Eingänge dann sind es 6552 Verdrahtungsmöglichkeiten. Nur so am Rande ;-)
Ja, war doch gar nicht so schwer, den Eintrag fürs avrdude.conf rauszufinden, nicht wahr? ;-) Gib dem Teil noch einen etwas einleuchtendere Namen (mir fällt aber auch gerade keiner ein) und reiche das danach als Patch bei https://savannah.nongnu.org/patch/?group=avrdude ein. vcc mußt Du nur angeben, wenn Dein Programmieradapter aus einem oder mehreren Pins sein Vcc gewinnen will (bei mehreren werden die dann in der Regel mit Schottky-Dioden entkoppelt). Damit kann man einen 74x367 als Puffer versorgen oder gar einen kompletten kleinen AVR. Masse mußt Du nicht angeben, da man die Masse-Pins ohnehin nicht softwaremäßig zuweisen kann. ;-)
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.