Hi, ich suche nach einer Möglichkeit die LockBits des AVR wärend der laufzeit abzufragen! Hab nichts gefunden das mir weiterhilft! Hat jemand eine Assembler-Zeile bzw einen Bascom-Schnipsel für mich? Grüße Alex
Alex W. wrote: > ich suche nach einer Möglichkeit die LockBits des AVR ... Falls Du es noch nicht gemerkt haben solltest, Atmel stellt nicht nur einen AVR her. Z.B. der ATtiny26 ist ein AVR und bei dem kann man die Lockbits nur mit einem Programmer auslesen. Peter
Peter Dannegger wrote: > Z.B. der ATtiny26 ist ein AVR und bei dem kann man die Lockbits nur mit > einem Programmer auslesen. ...während sein Nachfolger ATtiny261 tatsächlich in der Lage ist, sie aus dem Programm heraus zu lesen.
Ich würde es für ATMega8, ATMega32 und ATMega128 brauchen! Laut Datasheet kann man die LockBits LB1 und LB2 auslesen, aber ich hab keine Ahnung wie!
Alex W. wrote: > Ich würde es für ATMega8, ATMega32 und ATMega128 brauchen! > > Laut Datasheet kann man die LockBits LB1 und LB2 auslesen, aber ich hab > keine Ahnung wie! für den Mega32, Zitat aus Datenblatt: It is possible to read both the Fuse and Lock bits from software. To read the Lock bits, load the Z-pointer with $0001 and set the BLBSET and SPMEN bits in SPMCR. When an LPM instruction is executed within three CPU cycles after the BLBSET and SPMEN bits are set in SPMCR, the value of the Lock bits will be loaded in the destination register. The BLBSET and SPMEN bits will auto-clear upon completion of reading the Lock bits or if no LPM instruction is executed within three CPU cycles or no SPM instruction is executed within four CPU cycles. When BLBSET and SPMEN are cleared, LPM will work as described in the Instruction set Manual. sowas meinst du doch?
Alex W. wrote: > Ich würde es für ATMega8, ATMega32 und ATMega128 brauchen! Die können es alle. > Laut Datasheet kann man die LockBits LB1 und LB2 auslesen, aber ich hab > keine Ahnung wie! Steht doch im Datenblatt, unter "Self-Programming the Flash" -> "Reading the Fuse and Lock Bits from Software". Was genau verstehst du daran nicht?
Justus Skorps wrote: > Alex W. wrote: >> Ich würde es für ATMega8, ATMega32 und ATMega128 brauchen! >> >> Laut Datasheet kann man die LockBits LB1 und LB2 auslesen, aber ich hab >> keine Ahnung wie! > > für den Mega32, Zitat aus Datenblatt: > > It is possible to read both the Fuse and Lock bits from software. To > ... > > sowas meinst du doch? Genau! Nur muss ich ja diesen z-Pointer in ein Register laden (glaub ich zumindest) um ihn zu vergleichen mit ist/soll! Nur habe ich keine Ahnung wie der ASM-Befehl dazu heist (ich glaub nicht das Bascom einen Befehl direkt dafür hat) und hab deshalb nach nem codeschnipsel in asm gefragt.
ASM ist etwas mehr als ein Codeschnipsel. So hat's keinen Sinn. Und ASM mit ner anderen Sprache mischen ist auch so eine Sache. Dazu sollte man das Manula zu dieser Sprache konsultieren. Nennt sich Inline Assembler. Zuerst sollte man sich allerding das ASM Instruction Code Manual der AVR zufuehren. Es sit unter den Dokumenten zu finden, nicht unter Datenblaettern.
Wenn du nicht einmal weißt, was der Z-Zeiger bei einem AVR ist, dann bist du offenbar noch nicht einmal an der Beschreibung des CPU-Kerns, die sich in jedem Datenblatt befindet, vorbei gekommen. Damit streite ich dir jegliche Fähigkeiten ab, das Teil erfolgreich in Assembler programmieren zu können. Willst du das Teil mit AVR-GCC in C progammieren? Dann sieh dir bitte die Doku zu <avr/boot.h> an: http://www.nongnu.org/avr-libc/user-manual/group__avr__boot.html dort insbesondere die Funktion boot_lock_fuse_bits_get().
eigendlich suche ich in bascom nur nach ner möglichkeit abzufragen ob die lockbits so gesetzt sind wie ich das will, ohne mich durch ein haufen daten wühlen zu müssen.
Alex W. wrote: > eigendlich suche ich in bascom nur nach ner möglichkeit abzufragen ob > die lockbits so gesetzt sind wie ich das will, ohne mich durch ein > haufen daten wühlen zu müssen. Dann frag doch bei Bascom direkt nach, dort im Forum, als Feature-Request o.Ä.. Was ich sonst so von Bascom gelesen hab, sind die recht fix neue Funktionen/Libraries einzubauen, wenn Sie gebraucht werden.
Müssen eigentlich die Lock-/Fusebits auch aus der Bootsektion heraus gelesen werden oder geht das von überall? Peter
Peter Dannegger wrote: > Müssen eigentlich die Lock-/Fusebits auch aus der Bootsektion heraus > gelesen werden oder geht das von überall? > > > Peter Lesen überall, schreiben nur aus dem Bootbereich!
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.