Atmel Evaluation Kit for AT32uC3A0512, 32-Bit AVR Microcontroller Atmel ATEVK1105 ATEVK1105 データシート

製品コード
ATEVK1105
ページ / 826
118
AT32UC3A
The page buffer is also used for writes to the User page. 
Write operations can be prevented by programming the Memory Protection Unit of the CPU.
Writing 8-bit and 16-bit data to the page buffer is not allowed and may lead to unpredictable
data corruption.
Page buffer write operations are performed with 4 wait states.
Writing to the page buffer can only change page buffer bits from one to zero, ie writing
0xaaaaaaaa to a page buffer location that has the value 0x00000000, will not change the page
buffer value. The only way to change a bit from zero to one, is to reset the entire page buffer
with the Clear Page Buffer command.
The page buffer is not automatically reset after a page write. The programmer should do this
manually by issuing the Clear Page Buffer flash command. This can be done after a page
write, or before the page buffer is loaded with data to be stored to the flash page.
Example: Writing a word into word address 130 of a flash with 128 words in the page buffer.
PAGEN will be updated with the value 1, and the word will be written into word 2 in the page
buffer.
18.4.7
Writing words to a page that is not completely erased
This can be used for EEPROM emulation, i.e. writes with granularity of one word instead of an
entire page. Only words that are in an completely erased state (0xFFFFFFFF) can be
changed. The procedure is as follows:
1. Clear page buffer
2. Write to the page buffer the result of the logical bitwise AND operation between the
contents of the flash page and the new data to write. Only words that were in an
erased state can be changed from the original page.
3. Write Page. 
18.5
Flash commands
The FLASHC offers a command set to manage programming of the flash memory, locking and
unlocking of regions, and full flash erasing. See chapter 18.8.3 for a complete list of
commands.
To run a command, the field CMD of the Flash Command Register (FCMD) has to be written
with the command number. As soon as the FCMD register is written, the FRDY flag is auto-
matically cleared. Once the current command is complete, the FRDY flag is automatically set.
If an interrupt has been enabled by setting the bit FRDY in FCR, the interrupt line of the flash
controller is activated. All flash commands except for Quick Page Read (QPR) will generate an
interrupt request upon completion if FRDY is set.
After a command has been written to FCMD, the programming algorithm should wait until the
command has been executed before attempting to read instructions or data from the flash or
writing to the page buffer, as the flash will be busy. The waiting can be performed either by
polling the Flash Status Register (FSR) or by waiting for the flash ready interrupt. The com-
mand written to FCMD is initiated on the first clock cycle where the HSB bus interface in
FLASHC is IDLE. The user must make sure that the access pattern to the FLASHC HSB inter-
face contains an IDLE cycle so that the command is allowed to start. Make sure that no bus
masters such as DMA controllers are performing endless burst transfers from the flash. Also,
make sure that the CPU does not perform endless burst transfers from flash. This is done by
32058K
AVR32-01/12