***************************************************************************** * * * * * 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 ***************************************************************************** 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 (6x clock Default) The device has two clock modes: 6x and 12x. The devices from the factory have 6x clock mode default. To program the device to 12x mode the data in location at 12x clock programming byte as per Table.2 above in Programmer's RAM must be FF hex. Note: The 12x clock bit is not erasable. If the bit has been programmed, the micro will work at 12x clock without being able to move back to the 6x clock mode. 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 **************************************************************************** 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 ***************************************************************************** 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 ***************************************************************************