google schrieb:
> Dem und dem weiteren Text inkl. Beschreibung des Lesen und den
> Zugriffsdiagrammen würde ich entnehmen, dass die Signatur nur von außen
> zu lesen ist, der Chip selbst kann das nicht.
>
> Korrigiert mich, wenn ich falsch liege.
Du liegst falsch. Zumindest bei den meisten neueren AVRs kann man die
Signaturbytes vom "Programm" aus lesen (eigentlich: vom Bootloader).
Gelesen wird ähnlich wie Fuse- und Lockbytes via LPM-Instruktion mit
vorheriger Zuweisung des zu Lesenden Zeugs an SPMCSR. Ein spezielles
Timing ist dabei einzuhalten.
Beipiel für Atmega1284P:
.INCLUDE "m1284pdef.inc"
ldi ZH,0
ldi R18,(1<<SIGRD)|(1<<SPMEN)
ldi ZL,0
out SPMCSR,R18
lpm R16,Z
ldi ZL,2
out SPMCSR,R18
lpm R17,Z
ldi ZL,4
out SPMCSR,R18
lpm R18,Z
Danach liegen in R16::R18 die drei Signaturbytes.