291
8025I–AVR–02/09
ATmega48P/88P/168P/328P
24.8.16
ATmega328P Boot Loader Parameters
In
through
, the parameters used in the description of the self programming are given.
Note:
The different BOOTSZ Fuse configurations are shown in
.
For details about these two section, see
”NRWW – No Read-While-Write Section” on page 278
Note:
1. Z15: always ignored
Z0: should be zero for all SPM commands, byte select for the LPM instruction.
See
”Addressing the Flash During Self-Programming” on page 282
for details about the use of Z-pointer during Self-
Programming.
Table 24-13. Boot Size Configuration, ATmega328P
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
Table 24-14. Read-While-Write Limit, ATmega328P
Section
Pages
Address
Read-While-Write section (RWW)
224
0x0000 - 0x37FF
No Read-While-Write section (NRWW)
32
0x3800 - 0x3FFF
Table 24-15. Explanation of Different Variables used in
and the Mapping to the Z-pointer, ATmega328P
Variable
Corresponding
Z-value
Description
PCMSB
13
Most significant bit in the Program Counter. (The Program Counter
is 14 bits PC[13:0])
PAGEMSB
5
Most significant bit which is used to address the words within
one page (64 words in a page requires 6 bits PC [5:0])
ZPCMSB
Z14
Bit in Z-register that is mapped to PCMSB. Because Z0 is not used,
the ZPCMSB equals PCMSB + 1.
ZPAGEMSB
Z6
Bit in Z-register that is mapped to PAGEMSB. Because Z0 is not
used, the ZPAGEMSB equals P 1.
PCPAGE
PC[13:6]
Z14:Z7
Program counter page address: Page select, for page erase and
page write
PCWORD
PC[5:0]
Z6:Z1
Program counter word address: Word select, for filling temporary
buffer (must be zero during page write operation)