beautypg.com

2 reading the flash, 3 programming the flash, 1 chip erase – Rainbow Electronics ATtiny10 User Manual

Page 112: Is illustrated in, Figure 15-1

background image

112

8127B–AVR–08/09

ATtiny4/5/9/10

Figure 15-1. Addressing the Flash Memory

15.4.2

Reading the Flash

The Flash can be read from the data memory mapped locations one byte at a time. For read
operations, the least significant bit (bit 0) is used to select the low or high byte in the word
address. If this bit is zero, the low byte is read, and if it is one, the high byte is read.

15.4.3

Programming the Flash

The Flash can be written word-by-word. Before writing a Flash word, the Flash target location
must be erased. Writing to an un-erased Flash word will corrupt its content.

The Flash is word-accessed for writing, and the data space uses byte-addressing to access
Flash that has been mapped to data memory. It is therefore important to write the word in the
correct order to the Flash, namely low bytes before high bytes. First, the low byte is written to the
temporary buffer. Then, writing the high byte latches both the high byte and the low byte into the
Flash word buffer, starting the write operation to Flash.

The Flash erase operations can only performed for the entire Flash sections.

The Flash programming sequence is as follows:

1.

Perform a Flash section erase or perform a Chip erase

2.

Write the Flash section word by word

15.4.3.1

Chip Erase

The Chip Erase command will erase the entire code section of the Flash memory and the NVM
Lock Bits. For security reasons, the NVM Lock Bits are not reset before the code section has
been completely erased. Configuration, Signature and Calibration sections are not changed.

00

PAGE

01

02

SECTIONEND

WORD

00

01

PAGEEND

FLASH

SECTION

FLASH

PAGE

0/1

WADDR

PADDR

1

WADDRMSB

PADDRMSB

16

ADDRESS POINTER

...

...

...

...

...

...

PAGE ADDRESS

WITHIN A FLASH

SECTION

WORD ADDRESS
WITHIN A FLASH
PAGE

LOW/HIGH
BYTE SELECT

WADDRMSB+1