AVR LockBits wärend Laufzeit lesen

#1137436
Lesenswert?

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?
Moderator Persönliche Seite #1137437
Lesenswert?

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?
OP #1137452
Lesenswert?

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.
Gast #1137467
Lesenswert?

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.
Moderator Persönliche Seite #1137477
Lesenswert?

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().
#1137500
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren