© Koninklijke Philips Electronics N.V. 2005. All rights reserved.
User manual Rev. 02 — 23 May 2005 109 of 133
Philips Semiconductors
UM10109
P89LPC932A1 User manual
• Internal fixed boot ROM, containing low-level In-Application Programming (IAP)
routines that can be called from the end application (in addition to IAP-Lite).
• Default serial loader providing In-System Programming (ISP) via the serial port,
located in upper end of user program memory.
• Boot vector allows user provided Flash loader code to reside anywhere in the Flash
memory space, providing flexibility to the user.
• Programming and erase over the full operating voltage range
• Read/Programming/Erase using ISP/IAP/IAP-Lite
• Any flash program operation in 2 ms (4 ms for erase/program)
• Programmable security for the code in the Flash for each sector
• > 100,000 typical erase/program cycles for each byte
• 10-year minimum data retention
18.3 Flash programming and erase
The P89LPC932A1 program memory consists 1 kB sectors. Each sector can be further
divided into 64-byte pages. In addition to sector erase and page erase, a 64-byte page
register is included which allows from 1 to 64 bytes of a given page to be programmed at
the same time, substantially reducing overall programming time. Five methods of
programming this device are available.
• Parallel programming with industry-standard commercial programmers.
• In-Circuit serial Programming (ICP) with industry-standard commercial programmers.
(This feature was not present in the original P89LPC932).
• IAP-Lite allows individual and multiple bytes of code memory to be used for data
storage and programmed under control of the end application.(This feature was not
present in the original P89LPC932).
• Internal fixed boot ROM, containing low-level In-Application Programming (IAP)
routines that can be called from the end application (in addition to IAP-Lite).
• A factory-provided default serial loader, located in upper end of user program
memory, providing In-System Programming (ISP) via the serial port.
18.4 Using Flash as data storage: IAP-Lite
(This feature was not present in the original P89LPC932).
The Flash code memory array of this device supports IAP-Lite in addition to standard IAP
functions. Any byte in a non-secured sector of the code memory array may be read using
the MOVC instruction and thus is suitable for use as non-volatile data storage. IAP-Lite
provides an erase-program function that makes it easy for one or more bytes within a
page to be erased and programmed in a single operation without the need to erase or
program any other bytes in the page. IAP-Lite is performed in the application under the
control of the microcontroller’s firmware using four SFRs and an internal 64-byte ‘page
register’ to facilitate erasing and programing within unsecured sectors. These SFRs are:
• FMCON (Flash Control Register). When read, this is the status register. When written,
this is a command register. Note that the status bits are cleared to logic 0s when the
command is written.