Atmel ATmega328P Xplained Mini MEGA328P-XMINI MEGA328P-XMINI Ficha De Dados
Códigos do produto
MEGA328P-XMINI
265
ATmega48A/PA/88A/PA/168A/PA/328/P [DATASHEET]
Atmel-8271H-AVR- ATmega-Datasheet_08/2014
27.4
Read-While-Write and No Read-While-Write Flash Sections
Whether the CPU supports Read-While-Write or if the CPU is halted during a Boot Loader software update is
dependent on which address that is being programmed. In addition to the two sections that are configurable by
the BOOTSZ Fuses as described above, the Flash is also divided into two fixed sections, the Read-While-Write
(RWW) section and the No Read-While-Write (NRWW) section. The limit between the RWW- and NRWW
sections is given in
dependent on which address that is being programmed. In addition to the two sections that are configurable by
the BOOTSZ Fuses as described above, the Flash is also divided into two fixed sections, the Read-While-Write
(RWW) section and the No Read-While-Write (NRWW) section. The limit between the RWW- and NRWW
sections is given in
. The main difference between the two
sections is:
When erasing or writing a page located inside the RWW section, the NRWW section can be read during
the operation.
the operation.
When erasing or writing a page located inside the NRWW section, the CPU is halted during the entire
operation.
operation.
Note that the user software can never read any code that is located inside the RWW section during a Boot
Loader software operation. The syntax “Read-While-Write section” refers to which section that is being
programmed (erased or written), not which section that actually is being read during a Boot Loader software
update.
Loader software operation. The syntax “Read-While-Write section” refers to which section that is being
programmed (erased or written), not which section that actually is being read during a Boot Loader software
update.
27.4.1 RWW – 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 (i.e., by a call/jmp/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 section. The Boot Loader section is always located in the NRWW section. The RWW Section Busy bit
(RWWSB) in the Store Program Memory Control and Status Register (SPMCSR) 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.
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 (i.e., by a call/jmp/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 section. The Boot Loader section is always located in the NRWW section. The RWW Section Busy bit
(RWWSB) in the Store Program Memory Control and Status Register (SPMCSR) 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.
for
details on how to clear RWWSB.
27.4.2 NRWW – No Read-While-Write Section
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.
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 27-1.
Read-While-Write Features
Which Section does the Z-
pointer Address during
the Programming?
Which Section can be
read during
Programming?
CPU Halted?
Read-While-Write
Supported?
RWW Section
NRWW Section
No
Yes
NRWW Section
None
Yes
No