Hi, ich habe eine inline assembler routine geschrieben um das OSCCAL Byte während der Programmausführung aus dem Flash in das OSCCAL register zu schreiben.Nun zu meinem Problem: Wie kann ich testen ob die routine so funktioniert. Das AVR Studio will irgendeine .s datei um den attiny15 zu simulieren. Jemand ne idee ? Gruss peter
Hi welcher C-Compiler unterstützt den den ATTiny15? Der hat ja schließlich kein SRAM? Und warum mit Inline-ASM? Bietet dein Compiler keine Funktion zum Lesen aus dem Flash? Matthias
Hi.. Mal von C ganz angesehen, sowas ist doch eigentlich normal. Nur teste ich noch, ob ein gültiges Calibrationsbyte im Flash liegt, wobei ich darauf spekuliere, dass $ff als Calibrationsbyte nicht vorkommt. reset: ;Initialisierung ldi zl,low(1022) ;Pointer auf ldi zh,high(1022) ;Calibrationsbyte lpm ;nach r0 holen ldi zl,255 ;Referenz cpse zl,r0 ;Calibrationsbyte gültig (<>$ff)? out osccal,r0 ;ja, kalibrieren ... ;weitere Initialisierungen... Gilt so für Tiny12 und Tiny15, kostet außer 6 Worten Flash keine Ressourcen, da zu diesem Zeitpunkt noch kein Register für andere Zwecke benutzt wird und die Inhalte der hierfür benutzten Register nicht mehr gebraucht werden... Übrigens vermisst AVR-Studio (4.08) bei mir keine .s Datei, ich programmiere aber auch in Assembler. Testen, ob die Calibration erfolgreich ist, kannst du durch ein Programm. Aktiviere einen Timer, lass in seiner ISR einen Pin toggeln, miss dessen Frequenz und errechne anhand der Timereinstellungen die AVR-Taktfrequenz. Diese sollte der kalibrierten Oscillatorfrequenz entsprechen (Tiny12: 1,2MHz, Tiny15: 1,6MHz). Da mein ISP-Programm beim Löschen gleich das Calibrationsbyte ausliest und ins Flash schreibt, komme ich mit dieser Automatisierung sehr gut zurecht,zumindest solange ich die AVRs selbst update. ...HanneS...
Ups... Iss ja schlimm, wie die Tab-Formatierung zerrissen wird, werde beim nächsten mal alles mit Leerzeichen machen... ...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.