ATMEGA325-16AJ ATMEL [ATMEL Corporation], ATMEGA325-16AJ Datasheet - Page 248

no-image

ATMEGA325-16AJ

Manufacturer Part Number
ATMEGA325-16AJ
Description
8-bit Microcontroller with In-System Programmable Flash
Manufacturer
ATMEL [ATMEL Corporation]
Datasheet
Self-Programming the
Flash
248
ATmega325/3250/645/6450
Figure 110. Addressing the Flash During SPM
Note:
The program memory is updated in a page by page fashion. Before programming a
page with the data stored in the temporary page buffer, the page must be erased. The
temporary page buffer is filled one word at a time using SPM and the buffer can be filled
either before the Page Erase command or between a Page Erase and a Page Write
operation:
Alternative 1, fill the buffer before a Page Erase
Alternative 2, fill the buffer after Page Erase
If only a part of the page needs to be changed, the rest of the page must be stored (for
example in the temporary page buffer) before the erase, and then be rewritten. When
using alternative 1, the Boot Loader provides an effective Read-Modify-Write feature
which allows the user software to first read the page, do the necessary changes, and
then write back the modified data. If alternative 2 is used, it is not possible to read the
old data while loading since the page is already erased. The temporary page buffer can
be accessed in a random sequence. It is essential that the page address used in both
the Page Erase and Page Write operation is addressing the same page. See “Simple
Assembly Code Example for a Boot Loader” on page 252 for an assembly code
example.
Z - REGISTER
Fill temporary page buffer
Perform a Page Erase
Perform a Page Write
Perform a Page Erase
Fill temporary page buffer
Perform a Page Write
PROGRAM MEMORY
1. The different variables used in Figure 110 are listed in Table 106 on page 255.
2. PCPAGE and PCWORD are listed in Table 116 on page 261.
BIT
PAGE
PROGRAM
COUNTER
15
PAGE ADDRESS
WITHIN THE FLASH
ZPCMSB
PCMSB
PCPAGE
ZPAGEMSB
PAGEMSB
PCWORD
WORD ADDRESS
WITHIN A PAGE
(1)
1
0
0
INSTRUCTION WORD
PAGE
PCWORD[PAGEMSB:0]:
00
01
02
PAGEEND
2570A–AVR–09/04

Related parts for ATMEGA325-16AJ