mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PonyProg und CalibrationByte


Autor: SoC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
ich programmiere ATTINY15 mit PonyProg(PP) und habe in meinem Code
eine Funktion die aus dem Flash das Cal Byte in das OSSCAL register
schreibt.Habe schon oft gelesen das PonyProg alles mit 0xFF auffüllt
und das CalByte das ja von Atmel im Flash abgelegt wird dadurch
überschrieben wird.
Aber PP unterstützt ja Scripts, also hier mein Script.

SELECTDEVICE ATTINY15
CLEARBUFFER
LOAD-PROG prog.hex
READ-CALIBRATION 0x3FF
ERASE-ALL
WRITE&VERIFY-ALL

Steht eigentlich genauso in der Doku von PP.
Nun zu meiner Frage wenn ich im Script jetzt bei den Fusebits den Reset
dissable kann ich dann noch die Lockbits schreiben ?
Im Datenblatt steht ja das die Fusebits erst nach dem verlassen des
programmiermodes ausgewertet werden. Müsste also doch auch mit PP so
funktionieren oder ?
Gruesse

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Cal-Byte steht göaube ich nicht an der Adresse 0x3FF.
Du kannst ja mal ein Erase machen und mit der Funktion Read Calibration
Byte siehst Du, das kein Wert mit 0xFF zurück kommt.
Da mußt Du per Code schon selber das Register OSCCAL setzen.
Gibt auch ne Möglichkeit, das man das mit PP in eine bestimmte
EEPROM-Adresse schreibt und per Code aus dem EEPROM lesen und setzen.
Sobald Du den Reset per Fuse deaktivierst, kannst Du nie mehr seriell
Deinen Tiny15 programieren.
Nur noch mit Hi-Voltage und anderer Hardware/Software.
Brauchst Du denn PB5 unbedingt?

Gruß
Andi

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Andy:

Das Calbyte steht nicht im Flash an 0x3FF. Stimmt...

Deshalb will SoC es ja aus dem Signature-Bereich auslesen und ins Flash
nach 0x3FF schreiben. Nur dann findet seine Calib-Routine (Teil der
Reset-Routine) das Calibyte vor und kann es nach OSCCAL ausgeben. Ich
benutze zwar 0x3FE, aber das Prinzip ist das Gleiche. Allerdings mach
ich das nicht mit Pony, finde SoC's Variante aber clever...

Bei den Fuses und Lockbits kann ich mangels Erfahrung leider nicht
helfen...

Gruß...
...HanneS...

Autor: SoC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
genau ich will halt nicht für jeden Controller neu compilieren.
Habs mal ausprobiert und es scheint so wie wenn PP die Lockbits im
gleichen Programmierzyklus schreibt wie die Fusebits. Also scheint die
Methode mit dem Script zu taugen.

@Hannes: Spart halt Bauteile wenn man den Reset abschaltet. Meine
Schaltung hat nen Spannungsregler mit ON/OFF Funktion und der Tiny hat
ja ne  PoweronReset schaltung integriert .
Gruesse

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi SoC...

Ich assembliere auch nicht für jeden Chip neu. Mein
Eigenbau-ISP-Programm schreibt das ausgelesene Calibyte beim Löschen
automatisch ins Flash (letzte Zelle H und L), falls das zu brennende
Programm die letzte Zelle nicht belegt. Mit Fuses und Locks mach ich
noch nicht viel, da ich meinen Code nicht vor Auslesen schützen
muss/will.

Bit- & Bytebruch...
...HanneS...

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.