English
Language : 

ATMEGA8_14 Datasheet, PDF (203/331 Pages) ATMEL Corporation – High-performance, Low-power Atmel
ATmega8(L)
RWW – Read-While-
Write Section
NRWW – No Read-
While-Write Section
If a Boot Loader software update is programming a page inside the RWW section, it is possible
to read code from the Flash, but only code that is located in the NRWW section. During an on-
going programming, the software must ensure that the RWW section never is being read. If the
user software is trying to read code that is located inside the RWW section (that is, by a
call/rjmp/lpm or an interrupt) during programming, the software might end up in an unknown
state. To avoid this, the interrupts should either be disabled or moved to the Boot Loader Sec-
tion. The Boot Loader Section is always located in the NRWW section. The RWW Section Busy
bit (RWWSB) in the Store Program memory Control Register (SPMCR) will be read as logical
one as long as the RWW section is blocked for reading. After a programming is completed, the
RWWSB must be cleared by software before reading code located in the RWW section. See
“Store Program Memory Control Register – SPMCR” on page 206. for details on how to clear
RWWSB.
The code located in the NRWW section can be read when the Boot Loader software is updating
a page in the RWW section. When the Boot Loader code updates the NRWW section, the CPU
is halted during the entire page erase or page write operation.
Table 77. Read-While-Write Features
Which Section does the Z-
pointer Address during the
Programming?
Which Section Can be
Read during
Programming?
Is the CPU
Halted?
Read-While-
Write
Supported?
RWW section
NRWW section
No
Yes
NRWW section
None
Yes
No
Figure 101. Read-While-Write vs. No Read-While-Write
Read-While-Write
(RWW) Section
Z-pointer
Addresses RWW
section
Code Located in
NRWW Section
Can be Read during
the Operation
No Read-While-Write
(NRWW) Section
Z-pointer
Addresses NRWW
section
CPU is Halted
during the Operation
2486AA–AVR–02/2013
203