Техническая Спецификация для Atmel ATmega328P Xplained Mini MEGA328P-XMINI MEGA328P-XMINI

Модели
MEGA328P-XMINI
Скачать
Страница из 657
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 
. 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.
When erasing or writing a page located inside the NRWW section, the CPU is halted during the entire 
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.
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. 
 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.
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