ATmega88PA Automotive Atmel Corporation, ATmega88PA Automotive Datasheet - Page 269

no-image

ATmega88PA Automotive

Manufacturer Part Number
ATmega88PA Automotive
Description
Manufacturer
Atmel Corporation
26. Self-Programming the Flash, Atmel ATmega48PA
26.1
26.1.1
9223B–AVR–09/11
Overview
Performing Page Erase by SPM
In Atmel
Section. The SPM instruction can be executed from the entire Flash.
The device provides a Self-Programming mechanism for downloading and uploading program
code by the MCU itself. The Self-Programming can use any available data interface and asso-
ciated protocol to read code and write (program) that code into the Program memory.
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
• Fill temporary page buffer
• Perform a Page Erase
• Perform a Page Write
Alternative 2, fill the buffer after Page Erase
• Perform a Page Erase
• Fill temporary page buffer
• Perform a Page Write
If only a part of the page needs to be changed, the rest of the page must be stored (for exam-
ple in the temporary page buffer) before the erase, and then be re-written. 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.
To execute Page Erase, set up the address in the Z-pointer, write “00000011” to SPMCSR
and execute SPM within four clock cycles after writing SPMCSR. The data in R1 and R0 is
ignored. The page address must be written to PCPAGE in the Z-register. Other bits in the
Z-pointer will be ignored during this operation.
• The CPU is halted during the Page Erase operation.
Note:
Atmel ATmega48PA/88PA/168PA [Preliminary]
If an interrupt occurs in the time sequence the four cycle access cannot be guaranteed. In order
to ensure atomic operation you should disable interrupts before writing to SPMCSR.
®
ATmega48PA there is no Read-While-Write support, and no separate Boot Loader
269

Related parts for ATmega88PA Automotive