atmega32u4-16mu ATMEL Corporation, atmega32u4-16mu Datasheet - Page 358

no-image

atmega32u4-16mu

Manufacturer Part Number
atmega32u4-16mu
Description
Atmega32u4 8-bit Avr Microcontroller With 32k Bytes Of Isp Flash And Usb Controller
Manufacturer
ATMEL Corporation
Datasheet
28.7
358
Self-Programming the Flash
ATmega32U4
Figure 28-4. 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 alter-
native 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
• 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 COUNTER
BIT
1. The different variables used in
PROGRAM MEMORY
23
PAGE
PAGE ADDRESS
WITHIN THE FLASH
ZPCMSB
PCMSB
PCPAGE
Figure 28-4
ZPAGEMSB
PAGEMSB
PCWORD
WORD ADDRESS
WITHIN A PAGE
(1)
are listed in
1
0
0
INSTRUCTION WORD
Z - POINTER
PAGE
Table 28-10 on page
PCWORD[PAGEMSB:0]:
00
01
02
PAGEEND
364.
7766A–AVR–03/08

Related parts for atmega32u4-16mu