28.9.1 SPMCR – Store Program Memory Control Register
The Store Program Memory Control and Status Register contains the control bits needed to control the Boot Loader operations.
When using the I/O specific commands IN and OUT, the I/O addresses 0x00 - 0x3F must be used. When addressing I/O Registers as data space using LD and ST instructions, 0x20 must be added to these offset addresses.
Name: | SPMCR |
Offset: | 0x37 |
Reset: | 0x00 |
Property: | When addressing I/O Registers as data space the offset address is 0x57 |
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
SPMIE | RWWSB | RWWSRE | BLBSET | PGWRT | PGERS | SPMEN | |||
Access | R/W | R | R/W | R/W | R/W | R/W | R/W | ||
Reset | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Bit 7 – SPMIE SPM Interrupt Enable
Bit 6 – RWWSB Read-While-Write Section Busy
Bit 4 – RWWSRE Read-While-Write Section Read Enable
Bit 3 – BLBSET Boot Lock Bit Set
If this bit is written to one at the same time as SPMEN, the next SPM instruction within four clock cycles sets Boot Lock bits, according to the data in R0. The data in R1 and the address in the Z-pointer are ignored. The BLBSET bit will automatically be cleared upon completion of the Lock bit set, or if no SPM instruction is executed within four clock cycles.
An LPM instruction within three cycles after BLBSET and SPMEN are set in the SPMCR Register (SPMCR.BLBSET and SPMCR.SPMEN), will read either the Lock bits or the Fuse bits (depending on Z0 in the Z-pointer) into the destination register.
Bit 2 – PGWRT Page Write
Bit 1 – PGERS Page Erase
Bit 0 – SPMEN Store Program Memory
Writing any other combination than “10001”, “01001”, “00101”, “00011” or “00001” in the lower five bits will have no effect.