www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Programmierproblem ATmega328


Autor: Dan Düsentrieb (brain)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen.

Wir haben eine größere Anzahl an ATmega328 zu programmieren. Leider hat 
Atmel uns einen kleinen Streich gespielt. Das Bit CLDIV8 (teilt den Takt 
durch 8) ist gesetzt. Die interne Frequenz steht auf 8 MHz. Mit dem 
AVRISP mkII ist die höchste Programmierfreq. 125 kHz - was irgendwie 
auch Sinn macht: (8 MHz / 8)/4 geteilt durch acht, wegen dem CKDIV8 und 
durch vier weil die ISP-Freq nur ein viertel der Programmierfrequenz 
betragen darf.

JETZT MEINE FRAGE:

Hat jemand eine Idee wie man die Dinger mit einer höheren Frequenz 
flashen kann? - So dauerts echt lange :(

Freue mich über jeden Tipp.

Gruß

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Hat jemand eine Idee wie man die Dinger mit einer höheren Frequenz
>flashen kann? - So dauerts echt lange :(

Zuerst die Fusebits mit kleiner Frequenz proggen.
Dann das Flash mit hoher Frequenz. Geht mit avrdude
per Batchdatei ganz einfach.

Autor: Bernhard R. (barnyhh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1. Schritt: CKDIV8 Bit zurücksetzen.
2. Schritt: Power off - Power on. (kann u.U.entfallen)
3. Schritt: Mit 1 MHz flashen.

Gesamtverzögerung gegenüber richtig gesetztem Bit: Schritt 1 und 2.

Bernhard

Edit: Da war wer schneller!

Autor: Dan Düsentrieb (brain)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmm... ich glaube das kann nicht die Lösung sein. So muss ich ja jedes 
Ding zweimal programmieren + immer noch die Frequenz wechseln. Das 
dauert viel zu lange. Ich würde das Programmieren hinsichtlich Zeit 
optimieren.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Hmmm... ich glaube das kann nicht die Lösung sein. So muss ich ja jedes
>Ding zweimal programmieren + immer noch die Frequenz wechseln.

Nö.

avrdude -c avrisp2 -p c128 -P usb -B 10 -U lfuse:w:0xFF:m
pause
avrdude -c avrisp2 -p c128 -P usb -B 10 -U hfuse:w:0xDF:m
pause
avrdude -c avrisp2 -p c128 -P usb -B 1 -U efuse:w:0xFF:m
pause
avrdude -c avrisp2 -p c128 -P usb -U flash:w:myfile.hex

Musst halt drei mal Enter drücken;)

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.