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
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
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...
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
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...
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.