Read-while-write section – rww, Atmega128(l) – Rainbow Electronics ATmega128L User Manual

Page 267

Advertising
background image

267

ATmega128(L)

2467B–09/01

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 sec-
tion” 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.

Read-While-Write Section –
RWW

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 sec-
tion. 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 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 270. for details on how to clear RWWSB.

No Read-While-Write Section – NRWW

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.

Figure 132. Read-While-Write vs. No Read-While-Write

Table 108. 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

Read While Write

(RWW) Section

No Read While Write

(NRWW) Section

Z-pointer
addresses RWW
section

Z-pointer
addresses NRWW
section

CPU is halted
during the operation

Code located in
NRWW section
can be read during
the operation

Advertising