Datasheet

276
2545F–AVR–06/05
ATmega48/88/168
; return to RWW section
; verify that RWW section is safe to read
Return:
in temp1, SPMCSR
sbrs temp1, RWWSB ; If RWWSB is set, the RWW section is not ready yet
ret
; re-enable the RWW section
ldi spmcrval, (1<<RWWSRE) | (1<<SELFPRGEN)
call Do_spm
rjmp Return
Do_spm:
; check for previous SPM complete
Wait_spm:
in temp1, SPMCSR
sbrc temp1, SELFPRGEN
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, EEPE
rjmp Wait_ee
; SPM timed sequence
out SPMCSR, spmcrval
spm
; restore SREG (to enable interrupts if originally enabled)
out SREG, temp2
ret
25.7.13 ATmega88 Boot Loader Parameters
In Table 25-6 through Table 25-8, the parameters used in the description of the self program-
ming are given.
Table 25-6. Boot Size Configuration, ATmega88
BOOTSZ1 BOOTSZ0
Boot
Size Pages
Application
Flash
Section
Boot
Loader
Flash
Section
End
Application
Section
Boot Reset
Address
(Start Boot
Loader
Section)
11
128
words
4
0x000 -
0xF7F
0xF80 -
0xFFF
0xF7F 0xF80
10
256
words
8
0x000 -
0xEFF
0xF00 -
0xFFF
0xEFF 0xF00
01
512
words
16
0x000 -
0xDFF
0xE00 -
0xFFF
0xDFF 0xE00
00
1024
words
32
0x000 -
0xBFF
0xC00 -
0xFFF
0xBFF 0xC00