Datasheet
292
8018P–AVR–08/10
ATmega169P
sbiw loophi:looplo, 1 ;use subi for PAGESIZEB<=256
brne Rdloop
; 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<<SPMEN)
call Do_spm
rjmp Return
Do_spm:
; check for previous SPM complete
Wait_spm:
in temp1, SPMCSR
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 SPMCSR, spmcrval
spm
; restore SREG (to enable interrupts if originally enabled)
out SREG, temp2
ret
26.8.13 ATmega169P Boot Loader Parameters
In Table 26-6 through Table 26-8 on page 293, the parameters used in the description of the
Self-Programming are given.
Note: 1. The different BOOTSZ Fuse configurations are shown in Figure 26-2 on page 283.
Table 26-6. Boot Size Configuration
(1)
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
2 0x0000 - 0x1F7F 0x1F80 - 0x1FFF 0x1F7F 0x1F80
10
256
words
4 0x0000 - 0x1EFF 0x1F00 - 0x1FFF 0x1EFF 0x1F00
01
512
words
8 0x0000 - 0x1DFF 0x1E00 - 0x1FFF 0x1DFF 0x1E00
00
1024
words
16 0x0000 - 0x1BFF 0x1C00 - 0x1FFF 0x1BFF 0x1C00