8-bit AVR Microcontroller

ATmega8A Boot Loader Parameters

In the following tables, the parameters used in the description of the self programming are given.

Table 1. Boot Size Configuration, ATmega8A
BOOTSZ1 BOOTSZ0 Boot Size Pages Application Flash Section Boot Loader Flash Section End Application Section Boot Reset Address (Start Boot Loader Section)
1 1 128 words 4 0x000 - 0xF7F 0xF80 - 0xFFF 0xF7F 0xF80
1 0 256 words 8 0x000 - 0xEFF 0xF00 - 0xFFF 0xEFF 0xF00
0 1 512 words 16 0x000 - 0xDFF 0xE00 - 0xFFF 0xDFF 0xE00
0 0 1024 words 32 0x000 - 0xBFF 0xC00 - 0xFFF 0xBFF 0xC00
Note: The different BOOTSZ Fuse configurations are shown in Figure 2.
Table 2. Read-While-Write Limit, ATmega8A
Section Pages Address
Read-While-Write section (RWW) 96 0x000 - 0xBFF
No Read-While-Write section (NRWW) 32 0xC00 - 0xFFF
Note: For details about these two section, see NRWW – No Read-While-Write Section and RWW – Read-While-Write Section.
Table 3. Explanation of Different Variables used in Figure and the Mapping to the Z-pointer, ATmega8A
Variable Corresponding Z-value(1) Description
PCMSB 11 Most significant bit in the Program Counter. (The Program Counter is 12 bits PC[11:0])
PAGEMSB 4 Most significant bit which is used to address the words within one page (32 words in a page requires 5 bits PC [4:0]).
ZPCMSB Z12 Bit in Z-register that is mapped to PCMSB. Because Z0 is not used, the ZPCMSB equals PCMSB + 1.
ZPAGEMSB Z5 Bit in Z-register that is mapped to PAGEMSB. Because Z0 is not used, the ZPAGEMSB equals PAGEMSB + 1.
PCPAGE PC[11:5] Z12:Z6 Program counter page address: Page select, for page erase and page write
PCWORD PC[4:0] Z5:Z1 Program counter word address: Word select, for filling temporary buffer (must be zero during page write operation)
Note: 1.

Z15:Z13: always ignored.

Z0: should be zero for all SPM commands, byte select for the LPM instruction.

See Addressing the Flash During Self-Programming for details about the use of Z-pointer during Self- Programming.