beautypg.com

2 application and boot loader flash sections, 1 application section, 2 bls - boot loader section – Rainbow Electronics ATmega128RFA1 User Manual

Page 450: Boot loader support, Atmega128rfa1

background image

450



8266A-MCU Wireless-12/09

ATmega128RFA1

30 Boot Loader Support – Read-While-Write Self-Programming

The Boot Loader Support provides a real Read-While-Write Self-Programming
mechanism for downloading and uploading program code by the MCU itself. This
feature allows flexible application software updates controlled by the MCU using a
Flash-resident Boot Loader program. The Boot Loader program can use any available
data interface and associated protocol to read code and write that (program) code into
the Flash memory, or read the code from the program memory. The program code
within the Boot Loader section has the capability to write into the entire Flash, including
the Boot Loader memory. The Boot Loader can thus even modify itself (including
erasing) from the code if the feature is not needed anymore. The size of the Boot
Loader memory is configurable with fuses and 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.

30.1 Features

Read-While-Write Self-Programming

Flexible Boot Memory Size

High Security (Separate Boot Lock Bits for a Flexible Protection)

Separate Fuse to Select Reset Vector

Optimized Page

(1)

Size

Code Efficient Algorithm

Efficient Read-Modify-Write Support

Note:

1. A page is a section in the Flash consisting of several bytes (see

"Table 31-7" on

page 467

) used during programming. The page organization does not affect normal

operation.

30.2 Application and Boot Loader Flash Sections

The Flash memory is organized in two main sections: the Application section and the
Boot Loader section (see

Figure 30-2 on page 452

). The size of the different sections is

configured by the BOOTSZ Fuses as shown in

Table 30-7 on page 461

and

Figure 30-2

on page 452

. These two sections can have different level of protection since they have

different sets of Lock bits.

30.2.1 Application Section

The Application section is the region of the Flash that is used for storing the application
code. The protection level for the Application section can be selected by the application
Boot Lock bits (Boot Lock bits 0, BLB0), see

Table 31-2 on page 464

. The Application

section can never store any Boot Loader code since the SPM instruction is disabled
when executed from the Application section.

30.2.2 BLS – Boot Loader Section

While the Application section is used for storing the application code, the Boot Loader
software must be located in the BLS. The SPM instruction can only initiate
programming when executed from the BLS. The SPM instruction can access the entire
Flash, including the BLS itself. The protection level for the Boot Loader section can be
selected by the Boot Loader Lock bits (Boot Lock bits 1, BLB1), see

Table 31-2 on page

464

.