Hallo, ich würde gerne die Signature des AVR MCU auslesen (also vom MCU) und von diesem über Beispielsweise USART versenden. Gibt es da eine Möglichkeit diese herauszufinden? Wenn ja, wie :) ? Hab hier und bei google noch nichts finden können... was mich etwas stuzig macht... Schöne Grüße
Zitat aus dem datasheet des ATMEGA8: (beispielhaft, Deinen controller hast Du nicht genannt) "Signature Bytes All Atmel microcontrollers have a 3-byte signature code which identifies the device. This code can be read in both Serial and Parallel mode, also when the device is locked. The three bytes reside in a separate address space. For the ATmega8 the signature bytes are: 1. 0x000: 0x1E (indicates manufactured by Atmel) 2. 0x001: 0x93 (indicates 8KB Flash memory) 3. 0x002: 0x07 (indicates ATmega8 device)" 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.
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.
Ok, danke für die Korrektur, beim 1284P steht es auch im datasheet: "24.8.10 Reading the Signature Row from Software To read the Signature Row from software, load the Z-pointer with the signature byte address given in Table 24-5 on page 285 and set the SIGRD and SPMEN bits in SPMCSR. ..."
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.