316
2467S–AVR–07/09
ATmega128
Reading the Flash
1.
Enter JTAG instruction PROG_COMMANDS.
2.
Enable Flash read using programming instruction 3a.
3.
Load address using programming instructions 3b and 3c.
4.
Read data using programming instruction 3d.
5.
Repeat steps 3 and 4 until all data have been read.
A more efficient data transfer can be achieved using the PROG_PAGEREAD instruction:
1.
Enter JTAG instruction PROG_COMMANDS.
2.
Enable Flash read using programming instruction 3a.
3.
Load the page address using programming instructions 3b and 3c. PCWORD (refer to
) is used to address within one page and must be written as 0.
4.
Enter JTAG instruction PROG_PAGEREAD.
5.
Read the entire page by shifting out all instruction words in the page, starting with the
LSB of the first instruction in the page and ending with the MSB of the last instruction in
the page. Remember that the first 8 bits shifted out should be ignored.
6.
Enter JTAG instruction PROG_COMMANDS.
7.
Repeat steps 3 to 6 until all data have been read.
Programming the
EEPROM
Before programming the EEPROM a Chip Erase must be performed. See
.
1.
Enter JTAG instruction PROG_COMMANDS.
2.
Enable EEPROM write using programming instruction 4a.
3.
Load address high byte using programming instruction 4b.
4.
Load address low byte using programming instruction 4c.
5.
Load data using programming instructions 4d and 4e.
6.
Repeat steps 4 and 5 for all data bytes in the page.
7.
Write the data using programming instruction 4f.
8.
Poll for EEPROM write complete using programming instruction 4g, or wait for t
WLRH
(refer to
9.
Repeat steps 3 to 8 until all data have been programmed.
Note that the PROG_PAGELOAD instruction can not be used when programming the EEPROM
Reading the EEPROM
1.
Enter JTAG instruction PROG_COMMANDS.
2.
Enable EEPROM read using programming instruction 5a.
3.
Load address using programming instructions 5b and 5c.
4.
Read data using programming instruction 5d.
5.
Repeat steps 3 and 4 until all data have been read.
Note that the PROG_PAGEREAD instruction can not be used when reading the EEPROM