beautypg.com

4 boot loader lock bits, Figure 23-2 – Rainbow Electronics ATmega64C1 User Manual

Page 276

background image

276

7647A–AVR–02/08

ATmega32/64/M1/C1

Figure 23-2. Memory Sections

Note:

1. The parameters in the figure above are given in

Table 23-7 on page 286

.

23.4

Boot Loader Lock Bits

If no Boot Loader capability is needed, the entire Flash is available for application code. The
Boot Loader has two separate sets of Boot Lock bits which can be set independently. This gives
the user a unique flexibility to select different levels of protection.

The user can select:

To protect the entire Flash from a software update by the MCU.

To protect only the Boot Loader Flash section from a software update by the MCU.

To protect only the Application Flash section from a software update by the MCU.

Allow software update in the entire Flash.

See

Table 23-2

and

Table 23-3

for further details. The Boot Lock bits can be set in software and

in Serial or Parallel Programming mode, but they can be cleared by a Chip Erase command
only. The general Write Lock (Lock Bit mode 2) does not control the programming of the Flash
memory by SPM instruction. Similarly, the general Read/Write Lock (Lock Bit mode 1) does not
control reading nor writing by LPM/SPM, if it is attempted.

0x0000

Flashend

Program Memory

BOOTSZ = '11'

Application Flash Section

Boot Loader Flash Section

Flashend

Program Memory

BOOTSZ = '10'

0x0000

Program Memory

BOOTSZ = '01'

Program Memory

BOOTSZ = '00'

Application Flash Section

Boot Loader Flash Section

0x0000

Flashend

Application Flash Section

Flashend

End RWW

Start NRWW

Application Flash Section

Boot Loader Flash Section

Boot Loader Flash Section

End RWW

Start NRWW

End RWW

Start NRWW

0x0000

End RWW, End Application

Start NRWW, Start Boot Loader

Application Flash Section

Application Flash Section

Application Flash Section

Read-While-Wr

ite Section

No Read-While-Wr

ite Section

Read-While-Wr

ite Section

No Read-While-Wr

ite Section

Read-While-Wr

ite Section

No Read-While-Wr

ite Section

Read-While-Wr

ite Section

No Read-While-Wr

ite Section

End Application

Start Boot Loader

End Application

Start Boot Loader

End Application

Start Boot Loader