Intel Embedded Microcontroller Microscope & Magnifier User Manual


 
14-1
CHAPTER 14
PROGRAMMING AND VERIFYING
NONVOLATILE MEMORY
This chapter provides instructions for programming and verifying on-chip nonvolatile memory
on the 8XC251Sx. The programming instructions cover the entry of program code into on-chip
code memory, configuration information into the on-chip configuration bytes, and other catego-
ries of information into on-chip memory outside the memory address space. The verify instruc-
tions permit reading these memory locations to verify their contents. The operations covered in
this chapter are:
programming and verifying the on-chip code memory (8 Kbytes, 16 Kbytes)
programming and verifying the on-chip configuration bytes (8 bytes)
programming and verifying the lock bits (3 bits)
programming the encryption array (128 bytes)
verifying the signature bytes (3 bytes)
Programming instructions apply to the 87C251Sx (one-time programmable ROM (OTPROM)
and erasable programmable ROM (EPROM)). Verify instructions apply to the 87C251Sx, the
83C251Sx (mask ROM), and the configuration bytes on the 80C251SB, SQ (no ROM/OTPROM/
EPROM). In the unprogrammed state, EPROM and OTPROM contains all 1s.
14.1 GENERAL
The 87C251Sx is programmed and verified in the same manner as the 87C51FX, using the same
quick-pulse programming algorithm, which programs at V
PP
= 12.75 V using a series of five
100-µs PROG# pulses per byte. This results in a programming time of approximately 16 seconds
for the 16-Kbyte on-chip code memory.
Programming and verifying operations differ from normal microcontroller operation. Memory
accesses are made one byte at a time, input/output ports are used in a different manner, and the
EA#/V
PP
and ALE/PROG# pins are used for their alternative (programming) functions. For a
complete list of signal descriptions, see Appendix B.