www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Was geht schneller als ISP?


Autor: emax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: emax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: emax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: emax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bin ich gespannt.Jou, bin gespannt.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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).

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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. ;-)

Autor: emax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: emax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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. ;-)

Autor: emax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: emax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: emax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ;-)

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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. ;-)

Autor: emax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Jörg, werds versuchen.
e.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.