Datasheet
292
8021G–AVR–03/11
ATmega329P/3290P
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 Boot Loader Parameters
26.8.13.1 ATmega329P/3290P
In Table 26-6 through Table 26-8, 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
Table 26-6. Boot Size Configuration (ATmega329P/3290P)
(1)
BOOTSZ1 BOOTSZ0 Boot Size Pages
Application
Flash Section
Boot Loader
Flash Section
End
Application
Section
Boot Reset
Address
(Start
Boot Loader
Section)
1 1 256 words 4 0x0000-0x3EFF 0x3F00-0x3FFF 0x3EFF 0x3F00
1 0 512 words 8 0x0000-0x3DFF 0x3E00-0x3FFF 0x3DFF 0x3E00
0 1 1024 words 16 0x0000-0x3BFF 0x3C00-0x3FFF 0x3BFF 0x3C00
0 0 2048 words 32 0x0000-0x37FF 0x3800-0x3FFF 0x37FF 0x3800