Datasheet
350
ATmega16U4/32U4 [DATASHEET]
Atmel-7766J-USB-ATmega16U4/32U4-Datasheet_04/2016
Note: 1. For details about these two section, see “NRWW – No Read-While-Write Section” on page 337 and “RWW –
Read-While-Write Section” on page 337.
Note: 1. Z0: should be zero for all SPM commands, byte select for the (E)LPM instruction.
Note: See “Addressing the Flash During Self-Programming” on page 343 for details about the use of Z-pointer during
Self-Programming.
Table 27-9. Read-While-Write Limit (Word Addresses)
(1)
Device Section Pages Address
ATmega32U4
Read-While-Write section (RWW) 224 0x0000 - 0x37FF
No Read-While-Write section (NRWW) 32 0x3800 - 0x3FFF
ATmega16U4
Read-While-Write section (RWW) 97 0x0000 - 0x17FF
No Read-While-Write section (NRWW) 32 0x1800 - 0x1FFF
Table 27-10. Explanation of different variables used in Figure 27-4 and the mapping to the Z-pointer
Variable
Corresponding
Z-value
(1)
Description
PCMSB 13
Most significant bit in the Program Counter. (The Program Counter is 14
bits PC[13:0])
PAGEMSB 6
Most significant bit which is used to address the words within one page
(64 words in a page requires six bits PC [5:0])
ZPCMSB Z14
Bit in Z-pointer that is mapped to PCMSB. Because Z0 is not used, the
ZPCMSB equals PCMSB + 1
ZPAGEMS
B
Z7
Bit in Z-pointer that is mapped to PCMSB. Because Z0 is not used, the
ZPAGEMSB equals PAGEMSB + 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)