

*****************************************************************************
*                                                                           *
*                                                                           *
*                   HELP FOR PHILIPS MICRO CONTROLLERS                       *
*                         (informal document)                               *
*                                                                           *
*****************************************************************************

****************************************************************************

1.When looking for support for Philips 87C51 devices:

Remember that some letters on the part number are parameters
that tell you what speed/quality of device you ordered.  As an
example if we look at the Philip P87C51SBPN we see that this
is a 33MHz device with a temperature range of 0 -> +70, in a DIP
package.

The S & U stand for Oscillator Frequency/Speed versions:
S (16MHz)
U (33MHz)

The B & F stand for temperature range the device works in.
B (0 to +70)
F (-40 to +85)

The PN, BB, & AA stand for packaging
PN (Plastic Dual In line Package; DIP)
BB (Plastic Quad Flat Pack; QFP)
AA (Plastic Leaded Chip Carrier; PLCC)


2.Following table applies to 89C51Rx2 family of devices:
 ____________________________________________________________________________
|               | Default| To Program to 6x Mode   | To Program to 12x Mode  |
|               |  Clock | Respective RAM location | Respective RAM location |
|               |   Mode | Must be Set to -        | Must be Set to -        |
 ____________________________________________________________________________
|               |        |                         |                         |
| Device With   |  6x    |        0x00             |        0xFF             |
| Suffix 'H'    | Clock  |                         |                         |
| (Old Die)     |        |                         |                         |
 ____________________________________________________________________________
| Device Without|  12x   |                         |                         |
| Suffix        | Clock  |                         |                         |
| (New Die)     |        |        0xFF             |        0x00             |
|               |        |                         |                         |
 ----------------------------------------------------------------------------


****************************************************************************

87C51
--------
87C52
--------
87C54
--------
87C58
--------

Any of the two security options can be implemented for this device
(Encryption Array data, Security Bits programming). The security
options can be selected from the PROGRAM DEVICE Options screen.

To program the encryption array feature, edit the encryption array data in
programmer RAM.  To program the encryption array feature you must set the
Special Data flag to Y in TaskLink or in Terminal mode set the "Program
XNOR data" flag.  After the Encryption Array is programmed, device data
will no longer match user RAM data.  Encryption Array data cannot be read
or verified from the device.

The Lock Bits (Security Bits 1, 2 or 3) can be selected from the
PROGRAM DEVICE Options screen. Setting the "Program security fuse"
to Yes allows programming of the Hardware Write Protection option.

Program Security fuse 1	: Lock Bit 1
Program Security fuse 2	: Lock Bit 2
Program Security fuse 3	: Lock Bit 3

Program Lock Bits
------------------------
     LB1    LB2    LB3
     ---    ---    ---
1    U      U      U        No program lock features
2    P      U      U        Further programming of device memory is disabled
3    P      P      U        Further programming and verify is disabled
4    P      P      P        Further programming, verify and external execution
                            is disabled
(U) unprogrammed
(P) programmed

Below is the memory partition information for the various devices:

                       87C51         87C52         87C54          87C58
                ------------   ------------  ------------   ------------
MAIN ARRAY    :    0 - 0FFFh      0 - 1FFFh     0 - 3FFFh      0 - 7FFFh
ENCRYPT. ARRAY: 1000 - 101Fh   2000 - 201Fh  4000 - 403Fh   8000 - 803Fh

For 87C51 only security bit 1, 2 can be programmed, while for 87C52/54/58 all
three security bits are programmable.

*****************************************************************************

 87C51RA2
 --------
 87C51RB2
 --------
 87C51RC2
 --------
 87C51RD2
 --------
 87C51X2,87C52X2,87C54X2,87C58X2
 -------------------------------
 87CL52X2,87CL54X2.
 ------------------
 87C660X2,87C661X2,87C654X2
 --------------------------

1. Data in Programmer's User RAM is partitioned into Main array,
Encryption Array, and Configuration Memory Location(Clock Mode).The
data to be placed in Configuration Memory Location(Clock Mode) is also
listed in the table below:
--------- ---------------- ----------------- -------------- ----------
Device     Main Array       Encryption Array    6x Clock     Clock Mode
           Locations        Locations         Programming    6x / 12x
                                              (Clock Mode)   ( Data )
--------- ---------------- ------------------ ------------- ----------
87C51RA2   0000-1FFF hex     2000-203F hex      2040 hex     FF / 00
87C51RB2   0000-3FFF hex     4000-403F hex      4040 hex     FF / 00
87C51RC2   0000-7FFF hex     8000-803F hex      8040 hex     FF / 00
87C51RD2   0000-FFFF hex     10000-1003F hex   10040 hex     FF / 00

87C51X2    0000-FFF hex      1000-103F hex      1040 hex     FF / 00
87C52X2    0000-1FFF hex     2000-203F hex      2040 hex     FF / 00
87C54X2    0000-3FFF hex     4000-403F hex      4040 hex     FF / 00
87C58X2    0000-7FFF hex     8000-803F hex      8040 hex     FF / 00

87CL52X2   0000-1FFF hex     2000-203F hex      2040 hex     FF / 00
87CL54X2   0000-3FFF hex     4000-403F hex      4040 hex     FF / 00

87C660X2   0000-3FFF hex     4000-403F hex      4040 hex     FF / 00
87C661X2   0000-3FFF hex     4000-403F hex      4040 hex     FF / 00
87C654X2   0000-3FFF hex     4000-403F hex      4040 hex     FF / 00

--------- ---------------- ------------------ ----------- -----------
Note: 1)Default Clock Mode is 12x ('00' hex in Configuration Memory)
      2)Once 6x clock mode has been configured,it cannot be reverted
      back to 12x mode.

To program the encryption array feature, edit the encryption array data in
programmer RAM.  To program the encryption array feature you must set the
Special Data flag to Y in TaskLink or in Terminal mode set the "Program
XNOR data" flag.  After the Encryption Array is programmed, device data
will no longer match user RAM data.  Encryption Array data cannot be read
or verified from the device.

The device has two clock modes: 6x and 12x. The 12x clock mode is default.
To program the device to 6x mode, edit the data in the Configuration
Memory locations in table above to FF hex.

To program 'Clock Mode':
Set Program configuration to 'Y'
Blank state of Clock byte:   00 hex (12x )

To secure (lock) the device, set the "Program security fuse" option
in the PROGRAM MEMORY DEVICE to 'Y'. The fuses field corressponds to
Lock bits as follow:

        Program security fuse 1	: Lock Bit 1
        Program security fuse 2	: Lock Bit 2
        Program security fuse 3	: Lock Bit 3


******************************************************************************
 89C51X2
 --------
 89c52X2
 --------
 89C54X2
 --------
 89C58X2
 --------
(New Die)

1. Data in Programmer's User RAM is partitioned into Main Array
and Configuration Memory as follows:
   --------------------------- ----------------
   Device       Main Array    6x Clock Programming Byte
                                 (Read only)
   --------------------------- ----------------
   89C51X2      0000-0FFF hex    1000 hex
   89C52X2      0000-1FFF hex    2000 hex
   89C54X2      0000-3FFF hex    4000 hex
   89C58X2      0000-7FFFhex     8000 hex
   --------------------------- ----------------
Note:   If the devices from the factory have a "H" suffix, then their
         default clock mode is "6x clock mode".  If the devices from
         the factory do NOT have the "H" suffix then their default
         clock mode is 12x clock mode.

The device has two clock modes- 6x and 12x. To program the device to
6x mode, set the program configuration byte option to 'Y'.  The 12x
clock mode is default (the config bit is erased) The Configuration
Memory (Clock Mode) is re-programmable.

The device is electronically erasable; when re-programming set the
"Erase device" option  in the PROGRAM MEMORY DEVICE screen to 'Y'.

To secure (lock) the device, set the "Program security fuse" option
in the PROGRAM MEMORY DEVICE to 'Y'. The fuses field corressponds to
Lock bits as follow:

        Program security fuse 1	: Lock Bit 1
        Program security fuse 2	: Lock Bit 2
        Program security fuse 3	: Lock Bit 3

*****************************************************************************

 89C51B
 --------
 89c52B
 --------
 89C54B
 --------
 89C58B
 --------
(New Die)
*** Please note the device type carefully while selection of device type *****
Be sure to select P89C5xBx devices (no more letter U, Commercial temperature only (B))

1. Data in Programmer's User RAM is partitioned as follow:
   ---------------------------
   Device       Main Array
   ---------------------------
   89C51B      0000-0FFF hex
   89C52B      0000-1FFF hex
   89C54B      0000-3FFF hex
   89C58B      0000-7FFFhex
   ---------------------------

The device 89C58B is available with two silicon signature variants:
1. 0015C2F8
2. 0015C2FE
Although the programmer supports only the former silicon signature(0015C2F8),
the device with second signature is also supported on the same algorithm.
In second case, the user has to turn off the silicon signature option to 'N'
before use.

The device is electronically erasable; when re-programming
set the "Erase device" option  in the PROGRAM MEMORY
DEVICE screen to 'Y'.

To secure (lock) the device, set the "Program security fuse" option
in the PROGRAM MEMORY DEVICE to 'Y'. The fuses field corressponds to
Lock bits as follow:

        Program security fuse 1	: Lock Bit 1
        Program security fuse 2	: Lock Bit 2
        Program security fuse 3	: Lock Bit 3

*****************************************************************************

 89C51RA2 (New Die-no suffix)
 --------
 89c51RB2 (New Die)
 --------
 89C51RC2 (New Die)
 --------
 89C51RD2 (New Die)
 --------

NOTE: Menu Selection with 'H' is for older die(original die revision )

1. Data in Programmer's User RAM is partitioned as follow:
   ---------------------------------------------
   Device       Main Array         Data Block
   ---------------------------------------------
   89C51RA2      0000-1FFF hex    2000-2FFF hex
   89C51RB2      0000-3FFF hex    4000-4FFF hex
   89C51RC2      0000-7FFF hex    8000-8FFF hex
   89C51RD2      0000-FFFFhex    10000-10FFFhex
   ---------------------------------------------

2. The Configuration Bytes are located at following memory
   locations:
   ----------------------------------------------------
   Device    Status Byte   Boot Vector    12x Clock
                                       Programming Byte
   ----------------------------------------------------
   89C51RA2   3000 hex      3001 hex        3002 hex
   89C51RB2   5000 hex      5001 hex        5002 hex
   89C51RC2   9000 hex      9001 hex        9002 hex
   89C51RD2  11000 hex     11001 hex       11002 hex
   ----------------------------------------------------

Blank state of flash byte:       FF hex
Blank state of Status byte:      00 hex (when erased)
Blank state of Boot Vector byte: 00 hex (when erased)
Blank state of Clock byte:       00 hex (12x Default)

The device has two clock modes: 6x and 12x.
The devices from the factory have 12x clock mode default.

To program the device to 6x mode the data in location at
12x clock programming byte as per Table.2 above in Programmer's RAM
must be FF hex.
NOTE: If the Data is NOT 0h or FFh you may get verify failures after
programming.

The device is electronically erasable; when re-programming
set the "Erase EE device" option  in the PROGRAM MEMORY
DEVICE screen to 'Y'.

To program configuration bytes  viz. Status Byte and Boot Vector
Byte and Clock Mode set the "Program configuration" option
in the PROGRAM MEMORY DEVICE screen to 'Y'. When the "Program
configuration" option is set to 'Y', the programmer programs data
from Programmer's RAM starting from the configuration bytes as
shown in the Table.2 above into the device. Be sure that the data
in locations shown above is set correctly.

Note: "Program configuration" option is available upto version V7.6
in later versions, though the significance of these memory locations
is the same, it is supported as a part of the main array.

To secure (lock) the device, set the "Program security fuse" option
in the PROGRAM MEMORY DEVICE to 'Y'. The fuses field corresponds to
Lock bits as follow:

        Program security fuse 1 : Lock Bit 1
        Program security fuse 2 : Lock Bit 2
        Program security fuse 3 : Lock Bit 3

*****************************************************************************
 89C669
 --------

1. Data in Programmer's User RAM is partitioned as follow:
   ---------------------------------------------
   Device       Main Array         Data Block
   ---------------------------------------------
   89C669      0000-17FFFhex    18000-19FFFhex
   ---------------------------------------------

2. The Configuration Bytes are located at following memory
   locations:

	      1A000 hex   Status byte
              1A001 hex   I2C Slave address
              1A002 hex   Boot vector 0
              1A003 hex   Boot Vector 1
              1A004 hex   12x clock programming byte

Blank state of flash byte:       FF hex
Blank state of Clock byte:       00 hex (12x Default)

Be sure that the data in locations shown above is set correctly.
The device has two clock modes: 6x and 12x.
The devices from the factory have 12x clock mode default.
	To program the device to 6x mode the data in location 1A0004 hex
	in Programmer's RAM must be FF hex for these devices.
NOTE: If the Data is NOT 0h or FFh you may get verify failures after
programming.

The device is electronically erasable; when re-programming
set the "Erase EE device" option  in the PROGRAM MEMORY
DEVICE screen to 'Y'.

To secure (lock) the device, set the "Program security fuse" option
in the PROGRAM MEMORY DEVICE to 'Y'. The fuses field corresponds to
Lock bits as follow:

        Program security fuse 1 : Lock Bit 1
        Program security fuse 2 : Lock Bit 2
        Program security fuse 3 : Lock Bit 3

*****************************************************************************

 89C61x2
 --------
 89C60x2
 --------

1. Data in Programmer's User RAM is partitioned as follow:
   ---------------------------
   Device       Main Array
   ---------------------------
   89C60x2     0000-FFFF hex
   89C61x2     0000-FFFF hex
   ---------------------------

2. The Configuration Bytes are located at following memory
   locations:
----------------------------------------------
 Status Byte   Boot Vector    12x Clock
                            Programming Byte
----------------------------------------------
  10000 hex    10001 hex       10002 hex


Blank state of flash byte:       FF hex
Blank state of Status byte:      00 hex (when erased)
Blank state of Boot Vector byte: 00 hex (when erased)
Blank state of Clock byte:       00 hex (12x Default)

Be sure that the data in locations shown above is set correctly.
The device has two clock modes: 6x and 12x.
The devices from the factory have 12x clock mode default.
	To program the device to 6x mode the data in location 10002 hex
	in Programmer's RAM must be FF hex for these devices.
NOTE: If the Data is NOT 0h or FFh you may get verify failures after
programming.

The device is electronically erasable; when re-programming
set the "Erase EE device" option  in the PROGRAM MEMORY
DEVICE screen to 'Y'.

To secure (lock) the device, set the "Program security fuse" option
in the PROGRAM MEMORY DEVICE to 'Y'. The fuses field corresponds to
Lock bits as follow:

        Program security fuse 1 : Lock Bit 1
        Program security fuse 2 : Lock Bit 2
        Program security fuse 3 : Lock Bit 3

*****************************************************************************

89C660
---------
89C662
---------
89C664
---------
89C668
---------

1. Data in Programmer's User RAM is partitioned as follow:
   ----------------------------
   Device       Main Array
   ----------------------------
   89C660      0000-3FFF hex
   89C662      0000-7FFF hex
   89C664      0000-FFFFhex
   89C668      0000-FFFFhex
   ----------------------------

2. The Configuration Bytes are located at following memory
   locations:
   ----------------------------------------------------
   Device    Status Byte   Boot Vector    12x Clock
                                      Programming Byte
   ----------------------------------------------------
   89C660   4000 hex      4001 hex        4002 hex
   89C662   8000 hex      8001 hex        8002 hex
   89C664  10000 hex     10001 hex       10002 hex
   89C668  10000 hex     10001 hex       10002 hex
   ----------------------------------------------------

Blank state of flash byte:       FF hex
Blank state of Status byte:      00 hex (when erased)
Blank state of Boot Vector byte: 00 hex (when erased)
Blank state of Clock byte:       00 hex (12x clock Default)

The device has two clock modes: 6x and 12x.
The devices from the factory have 12x clock mode default.

To program the device to 6x mode the data in location at
12x clock programming byte as per Table.2 above in Programmer's RAM
must be FF hex.

The device is electronically erasable; when re-programming
set the "Erase EE device" option  in the PROGRAM MEMORY
DEVICE screen to 'Y'.

To program configuration bytes  viz. Status Byte and Boot Vector
Byte and Clock Mode set the "Program configuration" option
in the PROGRAM MEMORY DEVICE screen to 'Y'. When the "Program
configuration" option is set to 'Y', the programmer programs data
from Programmer's RAM starting from the configuration bytes as
shown in the Table.2 above into the device. Be sure that the data
in locations shown above is set correctly.

To secure (lock) the device, set the "Program security fuse" option
in the PROGRAM MEMORY DEVICE to 'Y'. The fuses field corresponds to
Lock bits as follow:

        Program security fuse 1	: Lock Bit 1
        Program security fuse 2	: Lock Bit 2
        Program security fuse 3	: Lock Bit 3

****************************************************************************

89C51RB2H
---------
89C51RC2H
---------
89C51RD2H
---------


NOTE: Menu Selection with 'H' is for older die(original die revision )

1. Data in Programmer's User RAM is partitioned as follow:
   ----------------------------
   Device          Main Array
   ---------------------------
   89C51RB2H      0000-3FFF hex
   89C51RC2H      0000-7FFF hex
   89C51RD2H      0000-FFFFhex
   ----------------------------

2. The Configuration Bytes are located at following memory
   locations:
   ----------------------------------------------------
   Device    Status Byte   Boot Vector    6x Clock
                                      Programming Byte
   ----------------------------------------------------
   89C51RB2H   4000 hex      4001 hex        4002 hex
   89C51RC2H   8000 hex      8001 hex        8002 hex
   89C51RD2H  10000 hex     10001 hex       10002 hex
   ----------------------------------------------------


Blank state of flash byte:       FF hex
Blank state of Status byte:      00 hex (when erased)
Blank state of Boot Vector byte: 00 hex (when erased)
Blank state of Clock byte:       00 hex (6x clock Default)

(For devices with H suffix this clock mode config byte is OTP)

The device has two clock modes: 6x and 12x.
The devices from the factory have 6x clock mode default,if they have suffix H.

To program the device to 12x mode the data in location at
6x clock programming byte as per Table.2 above in Programmer's RAM
must be FF hex.

The device is electronically erasable; when re-programming
set the "Erase EE device" option  in the PROGRAM MEMORY
DEVICE screen to 'Y'.

To program configuration bytes  viz. Status Byte and Boot Vector
Byte and Clock Mode set the "Program configuration" option
in the PROGRAM MEMORY DEVICE screen to 'Y'. When the "Program
configuration" option is set to 'Y', the programmer programs data
from Programmer's RAM starting from the configuration bytes as
shown in the Table.2 above into the device. Be sure that the data
in locations shown above is set correctly.

To secure (lock) the device, set the "Program security fuse" option
in the PROGRAM MEMORY DEVICE to 'Y'. The fuses field corresponds to
Lock bits as follow:

        Program security fuse 1	: Lock Bit 1
        Program security fuse 2	: Lock Bit 2
        Program security fuse 3	: Lock Bit 3

****************************************************************************

89CE558
--------
89C557
------

The user ram is from 0 through 7FFE hex. The 7FFF hex address is reserved
for the security fuse program only. Any data in user RAM at the 7FFF hex
address is ignored.

To secure (lock) the device, set the "Program security fuse" option
in the PROGRAM MEMORY DEVICE to 'Y'.


****************************************************************************

87CE560
--------

The encryption array data begins at RAM location 10000.
The encryption array data size is 64 bytes (40 hex).

To program the encryption array feature, edit the encryption array data in
programmer RAM.  To program the encryption array feature you must set the
Special Data flag to Y in TaskLink or in Terminal mode set the "Program
XNOR data" flag.  After the Encryption Array is programmed, device data
will no longer match user RAM data.  Encryption Array data cannot be read
or verified from the device.

Adapter version B or greater is required(PPI-0564B.)

****************************************************************************
PXAG39
--------
PXAG49
-------
Device is electronically erasable, when re-programming
enable the "Erase before program" option.

To program 'Status Byte' and 'Program configuration bytes',
follow Programming -> Program configuration -> Y
When the "Program configuration" option
Be sure that the data in required configuration locations
is set correctly.

The significance of bytes located at following locations in memory.

                   10EXA
                  PXAG49                  PXAG39
------------ -------------------   -------------------
Flash Memory  0000 hex- FFFF hex   0000 hex- 7FFF hex
BPSW[7 :0]   --        10001 hex             8001 hex
BPSW[15:8]   --        10002 hex             8002 hex
BPC [7 :0]   --        10003 hex             8003 hex
BPC [15:8]   --        10004 hex             8004 hex
Sbyte[7:0]   --        10005 hex             8005 hex


To secure (lock) the device, set the "Program security fuse" option
in the PROGRAM MEMORY DEVICE to 'Y'. The fuse fields corresponds to
Lock bits as follow:

        Program security fuse 1	: Lock Bit 1
        Program security fuse 2	: Lock Bit 2
        Program security fuse 3	: Lock Bit 3

****************************************************************************

89V51RB2
---------
89LV51RB2
---------

  Data in Programmer's User RAM is partitioned as follow:
	Main Flash (Block0) -  0000hex - 3FFF hex
	Boot memory(Block1) -  E000hex - FFFF hex
These two blocks form the sector configuration under the "Device configure screen"

Sector operations are set up under the "SECTOR CONFIGURATION" table.  This
table allows the user to select specific sector operations such as Erase,
Program, or Protect. The following directions will assist you in navigating
to this table relative to your programmer interface:
For the TaskLink user:
The "SECTOR CONFIGURATION" table is located in the "Sector" tab under
"Programmer Properties" dialog box.
For the Hiterm/Terminal user:
The "SECTOR CONFIGURATION" table is located in the "Device Configure" screen.

Block 1 contains the Philips-provided boot code. The ISP boot code will be erased
by a Chip Erase. Please set Sector 1 program option to 'N' under the device
configure screen if only User Flash needs to be programmed.

The device has double clock mode:
To program the device to double clock mode, set the "Program Configuration"
option in the PROGRAM MEMORY DEVICE to 'Y'.

To secure (lock) the device, set the "Program security fuse" option
in the PROGRAM MEMORY DEVICE to 'Y'. If the security is programmed,
set Sector 1 Erase option to 'Y' under the device configure screen.
This will also erase the contents of the boot block.

If the Security Bit is being programmed, a serial number should be programmed
into the device. The Serial Number is mapped to FF01h-FF1Fh in the Ram.
Location FF00h contains the length of the serial number. Location FF20h
in the Buffer indicates the status of the SoftICE flag. It must be
disabled if the 31-Byte Serial Number is other than all 00h or all FFh.


         Device mapping:
     ----------------------  0
    |User memory Block0    |
    | 0-3FFF hex           |
    |                      |
    |                      |
    |                      |
    |----------------------| 16K

    |----------------------|

    | Block1 - Boot Memory |
    | E000->FFFF hex       |
    | 8K                   |

  Ram Location           Significance
0xFF00              Length of Serial number
0xFF01- 0xFF1F      Serial number
0xFF20              Status of SoftICE flag

    |----------------------|


****************************************************************************
89V51RC2
----------
89LV51RC2
----------

  Data in Programmer's User RAM is partitioned as follow:

	Main Flash (Block0) -  0000hex - 7FFF hex
	Boot memory(Block1) -  E000hex - FFFF hex
These two blocks form the sector configuration under the "Device configure screen"

Sector operations are set up under the "SECTOR CONFIGURATION" table.  This
table allows the user to select specific sector operations such as Erase,
Program, or Protect. The following directions will assist you in navigating
to this table relative to your programmer interface:
For the TaskLink user:
The "SECTOR CONFIGURATION" table is located in the "Sector" tab under
"Programmer Properties" dialog box.
For the Hiterm/Terminal user:
The "SECTOR CONFIGURATION" table is located in the "Device Configure" screen.

Block 1 contains the Philips-provided boot code. The ISP boot code will be erased
by a Chip Erase. Please set Sector 1 program option to 'N' under the device
configure screen if only User Flash needs to be programmed.

The device has double clock mode:
To program the device to double clock mode, set the "Program Configuration"
option in the PROGRAM MEMORY DEVICE to 'Y'.

To secure (lock) the device, set the "Program security fuse" option
in the PROGRAM MEMORY DEVICE to 'Y'. If the security is programmed,
set Sector 1 Erase option to 'Y' under the device configure screen.
This will also erase the contents of the boot block.

If the Security Bit is being programmed, a serial number should be programmed
into the device. The Serial Number is mapped to FF01h-FF1Fh in the Ram.
Location FF00h contains the length of the serial number. Location FF20h
in the Buffer indicates the status of the SoftICE flag. It must be
disabled if the 31-Byte Serial Number is other than all 00h or all FFh.


         Device mapping:
     ----------------------  0
    |User memory Block0    |
    | 0-7FFF hex           |
    |                      |
    |                      |
    |                      |
    |----------------------| 32K

    |----------------------|

    | Block1 - Boot Memory |
    | E000->FFFF hex       |
    | 8K                   |

  Ram Location           Significance
0xFF00              Length of Serial number
0xFF01- 0xFF1F      Serial number
0xFF20              Status of SoftICE flag

    |----------------------|


****************************************************************************
89V51RD2
---------
89LV51RD2
---------

  Data in Programmer's User RAM is partitioned as follow:

	Main Flash (Block0) -  0000hex - 0FFFF hex
	Boot memory(Block1) - 10000hex - 11FFF hex
These two blocks form the sector configuration under the "Device configure screen"

Sector operations are set up under the "SECTOR CONFIGURATION" table.  This
table allows the user to select specific sector operations such as Erase,
Program, or Protect. The following directions will assist you in navigating
to this table relative to your programmer interface:
For the TaskLink user:
The "SECTOR CONFIGURATION" table is located in the "Sector" tab under
"Programmer Properties" dialog box.
For the Hiterm/Terminal user:
The "SECTOR CONFIGURATION" table is located in the "Device Configure" screen.

Block 1 contains the Philips-provided boot code. The ISP boot code will be erased
by a Chip Erase. Please set Sector 1 program option to 'N' under the device
configure screen if only User Flash needs to be programmed.

The device has double clock mode:
To program the device to double clock mode, set the "Program Configuration"
option in the PROGRAM MEMORY DEVICE to 'Y'.

To secure (lock) the device, set the "Program security fuse" option
in the PROGRAM MEMORY DEVICE to 'Y'. If the security is programmed,
set Sector 1 Erase option to 'Y' under the device configure screen.
This will also erase the contents of the boot block.

If the Security Bit is being programmed, a serial number should be programmed
into the device. The Serial Number is mapped to 11F01h-11F1Fh in the Ram.
Location 11F00h contains the length of the serial number. Location 11F20h
in the Buffer indicates the status of the SoftICE flag. It must be
disabled if the 31-Byte Serial Number is other than all 00h or all FFh.


         Device mapping:
     ----------------------  0
    |User memory Block0    |
    | 0-FFFF hex           |
    |                      |
    |                      |
    |                      |
    |----------------------| 64K
    | Block1 - Boot Memory |
    | 10000->11FFF hex     |
    | 8K                   |

  Ram Location           Significance
 0x11F00              Length of Serial number
 0x11F01- 0x11F1F     Serial number
 0x11F20              Status of SoftICE flag

    |----------------------|

****************************************************************************
89LPC922
89LPC925
89LPC931
89LPC932
89LPC932A1
89LPC934
89LPC935
89LPC938
---------

  Data in Programmer's User RAM is partitioned as follow:
        Main Flash (Block0) -  0000hex - 1FFF hex
        UCFG1 byte          -  FF00hex
        Boot Vector Byte    -  FF02hex
        Status Byte         -  FF03hex
        SEC0-SEC7           -  FF08hex - FF0F hex
    (Individual sector security bits)

  The device does not support READ operation. The device is verified using the
 CRC check function of the device. This device has an electronically erasable
 array. When re-programming this device, enable the "Erase before program"
 option.

 The configuration bytes (UCFGx, Boot Vector, Status Byte) are located at ram
 location as said above,these will be programmed in the device by default
 during the programming operation.

 Individual sector security bits (SEC0-SEC7):
 These devices have three security bits associated with each of its eight
 sectors (SEC0-SEC7),as shown below

   _________________________________________________________________
 |       |       |       |       |       |       |       |         |
 |  ---  |  ---  |  ---  |  ---  |  ---  | EDISx |SPEDISx|MOVCDISx |
 | BIT 7 | BIT 6 | BIT 5 | BIT 4 | BIT 3 | BIT 2 | BIT 1 |  BIT 0  |
  -----------------------------------------------------------------


 SECx.7-3 - Reserved (programmed to zero).
 SECx.2 EDISx--------->>Erase Disable ISP.(If this bit is programmed than the
                            corresponding sector can be programmed only after
                            erasing the entire device)
 SECx.1 SPEDISx------->>Sector Program Erase Disable x.
 SECx.0 MOVCDISx------>>MOVC Disable. (If only this bit is programmed the
                                       device cannot be verified)

 These eight bytes are represented at RAM location 0xFF08 - 0xFF0F.

 To program these security bits you must enable or set to Y the "Security fuse
 data" option in the PROGRAM MEMORY DEVICE to 'Y'.

 The device contains 8 sectors and the last sector of the device may contain
 factory provided ISP code. In order to save this code you must enable or set to
 Y the "Program configuration" option in the PROGRAM MEMORY DEVICE to Y'.Setting
 this option to 'Y' will exclude the last sector (address range 1C00hex-1FFFhex)
 during the Program as well as Erase operation.
 If Security bits are set than the partial programming operation may fail.

 If your data file extends into the last sector in which Philips provided ISP
 code is located, please make sure that your data file also contains the ISP
 code in it.Otherwise you will get programming failures.

         Device mapping:
                      ----------------------  0Mbit
                     |Flash Memory          |
                     | 0-01FFF hex          |
                     |                      |
                     |                      |
                     |                      |
                     |----------------------| 8K (1FFF hex)

                     |----------------------|FF00H
                     | UCFG1                |
                     |----------------------|FF02H
                     | BOOT Vector          |
                     |----------------------|FF03H
                     | STATUS Byte          |
                     |----------------------|

                     |----------------------|FF08H
                     | SEC0 --> SEC7        |
                     | (8 Bytes of sector   |
                     |  security bits)      |
                     |                      |
                     |----------------------|FF0FH

***************************************************************************

89LPC920
---------

  Data in Programmer's User RAM is partitioned as follow:
        Main Flash (Block0) -  0000hex - 7FF hex
        UCFG1 byte          -  FF00hex
        Boot Vector Byte    -  FF02hex
        Status Byte         -  FF03hex
        SEC0-SEC1           -  FF08hex - FF09 hex
    (Individual sector security bits)

  The device does not support READ operation. The device is verified using the
 CRC check function of the device. This device has an electronically erasable
 array. When re-programming this device, enable the "Erase before program"
 option.

 The configuration bytes (UCFGx, Boot Vector, Status Byte) are located at ram
 location as said above,these will be programmed in the device by default
 during the programming operation.

 Individual sector security bits (SEC0-SEC2):
 These devices have three security bits associated with each of its two
 sectors (SEC0-SEC2),as shown below
  _________________________________________________________________
 |       |       |       |       |       |       |       |         |
 |  ---  |  ---  |  ---  |  ---  |  ---  | EDISx |SPEDISx|MOVCDISx |
 | BIT 7 | BIT 6 | BIT 5 | BIT 4 | BIT 3 | BIT 2 | BIT 1 |  BIT 0  |
  -----------------------------------------------------------------

 SECx.7-3 - Reserved (programmed to zero).
 SECx.2 EDISx--------->>Erase Disable ISP.(If this bit is programmed than the
                            corresponding sector can be programmed only after
                            erasing the entire device)
 SECx.1 SPEDISx------->>Sector Program Erase Disable x.
 SECx.0 MOVCDISx------>>MOVC Disable. (If only this bit is programmed the
                                       device cannot be verified)

 These two bytes are represented at RAM location 0xFF08 - 0xFF09.

 To program these security bits you must enable or set to Y the "Security fuse
 data" option in the PROGRAM MEMORY DEVICE to 'Y'.

 The device contains 2 sectors and the last sector of the device may contain
 factory provided ISP code. In order to save this code you must enable or set to
 Y the "Program configuration" option in the PROGRAM MEMORY DEVICE to Y'.Setting
 this option to 'Y' will exclude the last sector (address range 400hex-7FFhex)
 during the Program as well as Erase operation.
 If Security bits are set than the partial programming operation may fail.

 If your data file extends into the last sector in which Philips provided ISP
 code is located, please make sure that your data file also contains the ISP
 code in it.Otherwise you will get programming failures.

         Device mapping:
                      ----------------------  0Mbit
                     |Flash Memory          |
                     | 0-07FF  hex          |
                     |                      |
                     |                      |
                     |                      |
                     |----------------------| 2K (07FF hex)

                     |----------------------|FF00H
                     | UCFG1                |
                     |----------------------|FF02H
                     | BOOT Vector          |
                     |----------------------|FF03H
                     | STATUS Byte          |
                     |----------------------|

                     |----------------------|FF08H
                     | SEC0 --> SEC1        |
                     | (2 Bytes of sector   |
                     |  security bits)      |
                     |                      |
                     |----------------------|FF09H

***************************************************************************

89LPC921
89LPC924
89LPC930
89LPC933
---------

  Data in Programmer's User RAM is partitioned as follow:
        Main Flash          -  0000hex - FFF hex
        UCFG1 byte          -  FF00hex
        Boot Vector Byte    -  FF02hex
        Status Byte         -  FF03hex
        SEC0-SEC3           -  FF08hex - FF0B hex
    (Individual sector security bits)

  The device does not support READ operation. The device is verified using the
 CRC check function of the device. This device has an electronically erasable
 array. When re-programming this device, enable the "Erase before program"
 option.

 The configuration bytes (UCFGx, Boot Vector, Status Byte) are located at ram
 location as said above,these will be programmed in the device by default
 during the programming operation.

 Individual sector security bits (SEC0-SEC3):
 These devices have three security bits associated with each of its four
 sectors (SEC0-SEC3),as shown below

  _________________________________________________________________
 |       |       |       |       |       |       |       |         |
 |  ---  |  ---  |  ---  |  ---  |  ---  | EDISx |SPEDISx|MOVCDISx |
 | BIT 7 | BIT 6 | BIT 5 | BIT 4 | BIT 3 | BIT 2 | BIT 1 |  BIT 0  |
  -----------------------------------------------------------------

 SECx.7-3 - Reserved (programmed to zero).
 SECx.2 EDISx--------->>Erase Disable ISP.(If this bit is programmed than the
                            corresponding sector can be programmed only after
                            erasing the entire device)
 SECx.1 SPEDISx------->>Sector Program Erase Disable x.
 SECx.0 MOVCDISx------>>MOVC Disable. (If only this bit is programmed the
                                       device cannot be verified)

 These four bytes are represented at RAM location 0xFF08 - 0xFF0B.

 To program these security bits you must enable or set to Y the "Security fuse
 data" option in the PROGRAM MEMORY DEVICE to 'Y'.

 The device contains 4 sectors and the last sector of the device may contain
 factory provided ISP code. In order to save this code you must enable or set to
 Y the "Program configuration" option in the PROGRAM MEMORY DEVICE to Y'.Setting
 this option to 'Y' will exclude the last sector (address range C00hex-FFFhex)
 during the Program as well as Erase operation.
 If Security bits are set than the partial programming operation may fail.

 If your data file extends into the last sector in which Philips provided ISP
 code is located, please make sure that your data file also contains the ISP
 code in it.Otherwise you will get programming failures.

         Device mapping:
                      ----------------------  0Mbit
                     |Flash Memory          |
                     | 0-0FFF  hex          |
                     |                      |
                     |                      |
                     |                      |
                     |----------------------| 4K (0FFF hex)

                     |----------------------|FF00H
                     | UCFG1                |
                     |----------------------|FF02H
                     | BOOT Vector          |
                     |----------------------|FF03H
                     | STATUS Byte          |
                     |----------------------|

                     |----------------------|FF08H
                     | SEC0 --> SEC3        |
                     | (4 Bytes of sector   |
                     |  security bits)      |
                     |                      |
                     |----------------------|FF0BH

***************************************************************************
89LPC936
---------

  Data in Programmer's User RAM is partitioned as follow:
        Main Flash (Block0) -  0000hex - 3FFF hex
        UCFG1 byte          -  FF00hex
        Boot Vector Byte    -  FF02hex
        Status Byte         -  FF03hex
        SEC0-SEC7           -  FF08hex - FF0F hex
    (Individual sector security bits)

  The device does not support READ operation. The device is verified using the
 CRC check function of the device. This device has an electronically erasable
 array. When re-programming this device, enable the "Erase before program"
 option.

 The configuration bytes (UCFGx, Boot Vector, Status Byte) are located at ram
 location as said above,these will be programmed in the device by default
 during the programming operation.

 Individual sector security bits (SEC0-SEC7):
 These devices have three security bits associated with each of its eight
 sectors (SEC0-SEC7),as shown below

  _________________________________________________________________
 |       |       |       |       |       |       |       |         |
 |  ---  |  ---  |  ---  |  ---  |  ---  | EDISx |SPEDISx|MOVCDISx |
 | BIT 7 | BIT 6 | BIT 5 | BIT 4 | BIT 3 | BIT 2 | BIT 1 |  BIT 0  |
  -----------------------------------------------------------------


 SECx.7-3 - Reserved (programmed to zero).
 SECx.2 EDISx--------->>Erase Disable ISP.(If this bit is programmed than the
                            corresponding sector can be programmed only after
                            erasing the entire device)
 SECx.1 SPEDISx------->>Sector Program Erase Disable x.
 SECx.0 MOVCDISx------>>MOVC Disable. (If only this bit is programmed the
                                       device cannot be verified)

 These eight bytes are represented at RAM location 0xFF08 - 0xFF0F.

 To program these security bits you must enable or set to Y the "Security fuse
 data" option in the PROGRAM MEMORY DEVICE to 'Y'.

 The device contains 8 sectors and the last sector of the device may contain
 factory provided ISP code. In order to save this code you must enable or set to
 Y the "Program configuration" option in the PROGRAM MEMORY DEVICE to Y'.Setting
 this option to 'Y' will exclude the last sector (address range 3800hex-3FFFhex)
 during the Program as well as Erase operation.
 If Security bits are set than the partial programming operation may fail.

 If your data file extends into the last sector in which Philips provided ISP
 code is located, please make sure that your data file also contains the ISP
 code in it.Otherwise you will get programming failures.

         Device mapping:
                      ----------------------  0Mbit
                     |Flash Memory          |
                     | 0-3FFF  hex          |
                     |                      |
                     |                      |
                     |                      |
                     |----------------------| 16K (3FFF hex)

                     |----------------------|FF00H
                     | UCFG1                |
                     |----------------------|FF02H
                     | BOOT Vector          |
                     |----------------------|FF03H
                     | STATUS Byte          |
                     |----------------------|

                     |----------------------|FF08H
                     | SEC0 --> SEC7        |
                     | (8 Bytes of sector   |
                     |  security bits)      |
                     |                      |
                     |----------------------|FF0FH

***************************************************************************

89LPC901
89LPC902
89LPC903
89LPC904
89LPC906
89LPC908
89LPC912
89LPC913
89LPC914
89LPC9107
---------

  Data in Programmer's User RAM is partitioned as follow:
        Main Flash (Block0) -  0000hex - 3FF hex
        UCFG1 byte          -  FF00hex
        Boot Vector Byte    -  FF02hex
        Status Byte         -  FF03hex
        SEC0-SEC3           -  FF08hex - FF0B hex
    (Individual sector security bits)

  The device does not support READ operation. The device is verified using the
 CRC check function of the device. This device has an electronically erasable
 array. When re-programming this device, enable the "Erase before program"
 option.

 The configuration bytes (UCFGx, Boot Vector, Status Byte) are located at ram
 location as said above,these will be programmed in the device by default
 during the programming operation.

 Individual sector security bits (SEC0-SEC3):
 These devices have three security bits associated with each of its four
 sectors (SEC0-SEC3),as shown below

   _________________________________________________________________
 |       |       |       |       |       |       |       |         |
 |  ---  |  ---  |  ---  |  ---  |  ---  | EDISx |SPEDISx|MOVCDISx |
 | BIT 7 | BIT 6 | BIT 5 | BIT 4 | BIT 3 | BIT 2 | BIT 1 |  BIT 0  |
  -----------------------------------------------------------------


 SECx.7-3 - Reserved (programmed to zero).
 SECx.2 EDISx--------->>Erase Disable ISP.(If this bit is programmed than the
                            corresponding sector can be programmed only after
                            erasing the entire device)
 SECx.1 SPEDISx------->>Sector Program Erase Disable x.
 SECx.0 MOVCDISx------>>MOVC Disable. (If only this bit is programmed the
                                       device cannot be verified)

 These four bytes are represented at RAM location 0xFF08 - 0xFF0F.

 To program these security bits you must enable or set to Y the "Security fuse
 data" option in the PROGRAM MEMORY DEVICE to 'Y'.



         Device mapping:
                      ----------------------  0Mbit
                     |Flash Memory          |
                     | 0-3FF hex            |
                     |                      |
                     |                      |
                     |                      |
                     |----------------------| 1K (3FF hex)

                     |----------------------|FF00H
                     | UCFG1                |
                     |----------------------|FF02H
                     | BOOT Vector          |
                     |----------------------|FF03H
                     | STATUS Byte          |
                     |----------------------|

                     |----------------------|FF08H
                     | SEC0 --> SEC3        |
                     | (4 Bytes of sector   |
                     |  security bits)      |
                     |                      |
                     |----------------------|FF0BH

***************************************************************************

89LPC915
89LPC916
89LPC917
---------

  Data in Programmer's User RAM is partitioned as follow:
        Main Flash (Block0) -  0000hex - 7FF hex
        UCFG1 byte          -  FF00hex
        Boot Vector Byte    -  FF02hex
        Status Byte         -  FF03hex
        SEC0-SEC3           -  FF08hex - FF0F hex
    (Individual sector security bits)

  The device does not support READ operation. The device is verified using the
 CRC check function of the device. This device has an electronically erasable
 array. When re-programming this device, enable the "Erase before program"
 option.

 The configuration bytes (UCFGx, Boot Vector, Status Byte) are located at ram
 location as said above,these will be programmed in the device by default
 during the programming operation.

 Individual sector security bits (SEC0-SEC7):
 These devices have three security bits associated with each of its eight
 sectors (SEC0-SEC7),as shown below
  _________________________________________________________________
 |       |       |       |       |       |       |       |         |
 |  ---  |  ---  |  ---  |  ---  |  ---  | EDISx |SPEDISx|MOVCDISx |
 | BIT 7 | BIT 6 | BIT 5 | BIT 4 | BIT 3 | BIT 2 | BIT 1 |  BIT 0  |
  -----------------------------------------------------------------

 SECx.7-3 - Reserved (programmed to zero).
 SECx.2 EDISx--------->>Erase Disable ISP.(If this bit is programmed than the
                            corresponding sector can be programmed only after
                            erasing the entire device)
 SECx.1 SPEDISx------->>Sector Program Erase Disable x.
 SECx.0 MOVCDISx------>>MOVC Disable. (If only this bit is programmed the
                                       device cannot be verified)

 These two bytes are represented at RAM location 0xFF08 - 0xFF0F.

 To program these security bits you must enable or set to Y the "Security fuse
 data" option in the PROGRAM MEMORY DEVICE to 'Y'.


         Device mapping:
                      ----------------------  0Mbit
                     |Flash Memory          |
                     | 0-07FF  hex          |
                     |                      |
                     |                      |
                     |                      |
                     |----------------------| 2K (07FF hex)

                     |----------------------|FF00H
                     | UCFG1                |
                     |----------------------|FF02H
                     | BOOT Vector          |
                     |----------------------|FF03H
                     | STATUS Byte          |
                     |----------------------|

                     |----------------------|FF08H
                     | SEC0 --> SEC3        |
                     | (8 Bytes of sector   |
                     |  security bits)      |
                     |                      |
                     |----------------------|FF0FH

***************************************************************************

89LPC952
---------

  Data in Programmer's User RAM is partitioned as follow:
        Main Flash          -  0000hex - 1FFF hex
        UCFG1 byte          -  FF00hex
        Boot Vector Byte    -  FF02hex
        Status Byte         -  FF03hex
        SEC0-SEC3           -  FF08hex - FF0F hex
    (Individual sector security bits)

  The device does not support READ operation. The device is verified using the
 CRC check function of the device. This device has an electronically erasable
 array. When re-programming this device, enable the "Erase before program"
 option.

 The configuration bytes (UCFGx, Boot Vector, Status Byte) are located at ram
 location as said above,these will be programmed in the device by default
 during the programming operation.

 Individual sector security bits (SEC0-SEC7):
 These devices have three security bits associated with each of its eight
 sectors (SEC0-SEC7),as shown below

  _________________________________________________________________
 |       |       |       |       |       |       |       |         |
 |  ---  |  ---  |  ---  |  ---  |  ---  | EDISx |SPEDISx|MOVCDISx |
 | BIT 7 | BIT 6 | BIT 5 | BIT 4 | BIT 3 | BIT 2 | BIT 1 |  BIT 0  |
  -----------------------------------------------------------------

 SECx.7-3 - Reserved (programmed to zero).
 SECx.2 EDISx--------->>Erase Disable ISP.(If this bit is programmed than the
                            corresponding sector can be programmed only after
                            erasing the entire device)
 SECx.1 SPEDISx------->>Sector Program Erase Disable x.
 SECx.0 MOVCDISx------>>MOVC Disable. (If only this bit is programmed the
                                       device cannot be verified)

 These four bytes are represented at RAM location 0xFF08 - 0xFF0F.

 To program these security bits you must enable or set to Y the "Security fuse
 data" option in the PROGRAM MEMORY DEVICE to 'Y'.

 The device contains 8 sectors and the last sector of the device may contain
 factory provided ISP code. In order to save this code you must enable or set to
 Y the "Program configuration" option in the PROGRAM MEMORY DEVICE to Y'.Setting
 this option to 'Y' will exclude the last sector (address range 1C00hex-1FFhex)
 during the Program as well as Erase operation.
 If Security bits are set than the partial programming operation may fail.

 If your data file extends into the last sector in which Philips provided ISP
 code is located, please make sure that your data file also contains the ISP
 code in it.Otherwise you will get programming failures.

         Device mapping:
                      ----------------------  0Mbit
                     |Flash Memory          |
                     | 0-1FFF  hex          |
                     |                      |
                     |                      |
                     |                      |
                     |----------------------| 8K (1FFF hex)

                     |----------------------|FF00H
                     | UCFG1                |
                     |----------------------|FF01H
                     | UCFG2                |
                     |----------------------|FF02H
                     | BOOT Vector          |
                     |----------------------|FF03H
                     | STATUS Byte          |
                     |----------------------|

                     |----------------------|FF08H
                     | SEC0 --> SEC7        |
                     | (8 Bytes of sector   |
                     |  security bits)      |
                     |                      |
                     |----------------------|FF0FH

***************************************************************************