ATmega8(L)
; return to RWW section
; verify that RWW section is safe to read
Return:
in
temp1, SPMCR
sbrs temp1, RWWSB
ready yet
; If RWWSB is set, the RWW section is not
ret
; re-enable the RWW section
ldi spmcrval, (1<<RWWSRE) | (1<<SPMEN)
rcallDo_spm
rjmp Return
Do_spm:
; check for previous SPM complete
Wait_spm:
in
temp1, SPMCR
sbrc temp1, SPMEN
rjmp Wait_spm
; input: spmcrval determines SPM action
; disable interrupts if enabled, store status
in
temp2, SREG
cli
; check that no EEPROM write access is present
Wait_ee:
sbic EECR, EEWE
rjmp Wait_ee
; SPM timed sequence
out SPMCR, spmcrval
spm
; restore SREG (to enable interrupts if originally enabled)
out SREG, temp2
ret
ATmega8 Boot Loader In Table 82 through Table 84 on page 214, the parameters used in the description of the self
Parameters
programming are given.
Table 82. Boot Size Configuration
Boot Reset
Address
(Start Boot
Loader
Boot
Loader
Flash
Application
Flash
Section
End
Application
Section
Boot
Size
BOOTSZ1
BOOTSZ0
Pages
Section
Section)
128
words
0x000 -
0xF7F
0xF80 -
0xFFF
1
1
4
0xF7F
0xEFF
0xDFF
0xBFF
0xF80
0xF00
0xE00
0xC00
256
words
0x000 -
0xEFF
0xF00 -
0xFFF
1
0
0
0
1
0
8
512
words
0x000 -
0xDFF
0xE00 -
0xFFF
16
32
1024
words
0x000 -
0xBFF
0xC00 -
0xFFF
Note:
The different BOOTSZ Fuse configurations are shown in Figure 102 on page 204
213
2486AA–AVR–02/2013