AN10258 How to use the LPC900 In-circuit programming (ICP)

Similar documents
AN10337 Adding ISP firmware to an LPC900 software project

AN10428 UART-SPI Gateway for Philips SPI slave bridges

AN Reduce CPU overhead with Intelligence Interrupt Arbitration (I2A) feature. Document information

VHF variable capacitance double diode. Electronic tuning in FM radio applications.

Low forward voltage Ultra small SMD plastic package Low capacitance Flat leads: excellent coplanarity and improved thermal behavior.

AN466 In-system programming of the P87LPC76x family of microcontrollers

AN10210 Using the Philips 87LPC76x microcontroller as a remote control transmitter

AN Interfacing Philips Bridge IC with Philips microcontroller. Document information

AN466 In-system programming of the P87LPC76x family of microcontrollers

PRTR5V0U2X. 1. Product profile. Ultra low capacitance double rail-to-rail ESD protection diode in SOT143B. 1.1 General description. 1.

EPM900 - Overview. Features. Technical Data

PESDxU1UT series. 1. Product profile. Ultra low capacitance ESD protection diode in SOT23 package. 1.1 General description. 1.

AN Philips LPC2000 CAN driver. Document information

INTEGRATED CIRCUITS ABSTRACT

AN10254 Philips ARM LPC microcontroller family

Procedure. Part No. Temperature Range Package IS31BL3231-DLS2-EB -40 C to +85 C (Industrial) DFN-10 (3mm x 3mm), Lead-free

AN LPC1700 secondary USB bootloader. Document information. LPC1700, Secondary USB Bootloader, ISP, IAP

INTEGRATED CIRCUITS ABSTRACT

DATA SHEET. HT2DC20S20 HITAG 2 stick transponder INTEGRATED CIRCUITS

User Manual. CANopenIA-M0. Starter Kit

MF RD700. PEGODA Contactless Smart Card Reader READER COMPONENTS. Preliminary Product Specification Revision 2.0 PUBLIC. July2002

AN10955 Full-duplex software UART for LPC111x and LPC13xx

IS31SE CH CAPACITIVE TOUCH SENSOR EVALUATION BOARD GUIDE

AN1203 Automatic start of CANopen slave devices

Preliminary. PACKAGE - 28-pin MLP (5mm X 5mm) Example Circuit Diagram CP V. 48MHz Oscillator. USB Function Controller 512B EEPROM

IMPORTANT NOTICE. use

Contactless Single-trip Ticket ICs MF0 IC U10 01 MF0 IC U11 01 Specification bumped sawn wafer on UV-tape

In data sheets and application notes which still contain NXP or Philips Semiconductors references, use the references to Nexperia, as shown below.

AN10184 Connecting a keyboard to the Philips LPC9xx microcontroller

UM QN908x Quick Start. Document information. QN908x, Quick Start, Development Kit, QN9080 DK, QN9080 Development Kit

mifare DESFire Contactless Multi-Application IC with DES and 3DES Security MF3 IC D40 INTEGRATED CIRCUITS Objective Short Form Specification

INTEGRATED CIRCUITS MF RC531. ISO Reader IC. Short Form Specification Revision 3.2. April Philips Semiconductors

Versa-Kit-30xx Getting Started Guide Rev 1.0

e-link Emulation/Programming Adapter Cable (ESTD-206) User s Guide

AN1204 Configuration of CANopen devices via LSS

AN Entering ISP mode from user code. Document information. ARM ISP, bootloader

AN Automatic RS-485 address detection. Document information

Table 1. RS232 Serial Adapter DEBUG Connector Pin Descriptions

USB to Serial Cable Hardware and USB Driver Installation instructions

AN LPC1700 Ethernet MII Management (MDIO) via software. Document information. LPC1700, Ethernet, MII, RMII, MIIM, MDIO

PCA bit multiplexed/1-bit latched 5-bit I 2 C EEPROM DIP switch

OM13071 LPCXpresso824-MAX Development board

8051 General Purpose Board

80C51GB, 83C51GB, 87C51GB SPECIFICATION UPDATE

GENERAL DESCRIPTION FEATURES

AN Sleep programming for NXP bridge ICs. Document information

Flash Magic Application Note 4 What to do if ISP Does Not Work Embedded Systems Academy 2003, All Rights Reserved

Programmer User Guide

Nuvoton 1T 8051-based Microcontroller NuTiny-SDK-N76E885 User Manual

Boot Loader for the Z51F6412 MCU

UM PCAL6524 demonstration board OM Document information

Table 1 summarizes the supported device attribute differences between KSZ9021GN and KSZ9031MNX PHY devices. Device Attribute KSZ9021GN KSZ9031MNX

Frontline Electronics Pvt Ltd.

PTN3310/PTN3311 High-speed serial logic translators

PCA bit multiplexed/1-bit latched 6-bit I 2 C EEPROM DIP switch

& I CODE CL RD701. PEGODA Contactless Smart Card Reader READER COMPONENTS. Product Specification Revision 3.1 PUBLIC.

Figure 1. 8-Bit USB Debug Adapter

Table 1 summarizes the supported device attribute differences between KSZ9021RN and KSZ9031RNX PHY devices. Device Attribute KSZ9021RN KSZ9031RNX

CYClockMaker Programming Kit Guide CY3675. Doc. # Rev. **

nrf240x ShockBurst technology

UM User Manual for LPC54018 IoT Module. Rev November Document information

USB485. USB to RS485 Converter Card. User Manual for connecting with Windows Vista Version 1.01

Flash Magic GUI and Command Line Manual. Manual Revision 1.70

S3F8S5A Development Kit

Nuvoton 4T 8051-based Microcontroller NuTiny-SDK-N78E715 User Manual

RC232 Deployment Tool (DT) User Manual

AN10210 Using the Philips 87LPC76x microcontroller as a remote control transmitter

CDB5346. Evaluation Board for CS5346. Features. Description CS5346. Single-ended Analog Inputs. Single-ended Analog Outputs

UM EEPROM Management of PN746X and PN736X. User manual COMPANY PUBLIC. Rev February Document information

CYClockMaker Programming Kit Guide CY3675. Doc. # Rev. *C

Renesas Flash Programmer V3.05

This Application Note demonstrates an SPI-LIN slave bridge using a PSoC device. Demonstration projects are included.

UT32M0R500-EVB Development Board User Manual

Evaluation board for NXP LPC2103. User Guide. Preliminary Version updated 27 th Aug TechToys Company All Rights Reserved

INTEGRATED CIRCUITS. PCA bit I 2 C and SMBus I/0 port with reset. Product data Supersedes data of 2002 May Dec 13

SIGFOX-CCT (Configuration and Communication Tool) User Manual

AN10917 Memory to DAC data transfers using the LPC1700's DMA

The USB Debug Adapter package contains the following items: USB Debug Adapter (USB to Debug Interface) with attached 7 Ribbon Cable

RC232 Configuration and Communication Tool (CCT) User Manual

NXP Microcontrollers Selection Guide

LPC1300, FM+, Fast-mode Plus, I 2 C, Cortex-M3

Chameleon POD Specification v1.2

TABLE 1: PACKAGE LIST. XRA1402IL16-F 16-pin QFN U7. XRA1402IG16-F 16-pin TSSOP U6. XRA1404IL16-F 16-pin QFN U7. XRA1404IG16-F 16-pin TSSOP U6

INTEGRATED CIRCUITS. PCA bit I 2 C and SMBus I/O port with interrupt. Product data sheet Supersedes data of 2004 Jul 27.

Old Company Name in Catalogs and Other Documents

S3 Flash In-System Programmer

DATASHEET 4D SYSTEMS TURNING TECHNOLOGY INTO ART. microusb Programming Adaptor. USB to UART Serial Bridge

Evaluation Board for CS5345

In data sheets and application notes which still contain NXP or Philips Semiconductors references, use the references to Nexperia, as shown below.

DATASHEET 4D SYSTEMS. uusb-pa5 uusb-pa5-ii. microusb Programming Adaptor TURNING TECHNOLOGY INTO ART. USB to UART Serial Bridge

Cypress HX2VL Configuration Utility Blaster User Guide

Part Number Density Product Type Operation Temperature. W25Q80NESNIG 8Mb 1.2V Serial NOR Flash Memory Industrial (-40 C to +85 C)

MBUS-CCT (Configuration and Communication Tool) User Manual

Wiz ISP Program User Guide

In data sheets and application notes which still contain NXP or Philips Semiconductors references, use the references to Nexperia, as shown below.

Evaluation Board for CS3308. Description CS Channel. Digitally Controlled Analog Volume Control. PC or External Serial Control Input

UM LPCXpresso Rev th November Document information. LPCXpresso54102, LPC54100 LPCXpresso54102 User Manual

Evaluation Board for CS4245

In data sheets and application notes which still contain NXP or Philips Semiconductors references, use the references to Nexperia, as shown below.

ES_LPC81xM. Errata sheet LPC81xM. Document information

Transcription:

How to use the LPC900 In-circuit programming (ICP) Rev. 0 October 00 Application note Document information Info Content Keywords LPC900 In-circuit programming (ICP) Abstract How to use the LPC900 In-circuit programming (ICP)

Revision history Rev Date Description 0 000 Second version (99 0 ) Modification: Updated Figure MCB900 hook-up. 0 000 Initial version (99 0 99) Contact information For additional information, please visit: http://www.semiconductors.philips.com For sales office addresses, please send an email to: sales.addresses@www.semiconductors.philips.com Application note Rev. 0 October 00 of

. Introduction This document gives an overview of how the ICP (In Circuit Programming) on the P9LPC9xx can be done. ICP is one of the programming methods of the LPC900 microcontroller family. ICP uses a serial shift protocol that requires pins to program: PCL, PDA, Reset, and. ICP is different from ISP (In System Programming) because it is done completely by the microcontroller s hardware and does not require a bootloader. The ICP programming method is a serial programming method, shifting in programming commands and shifting data in and out with a clock and dataline. Using ICP on the application board has many advantages: The latest software revision can be loaded into the product before shipping. Field updates can be made when reprogramming the chip on the application board. In the debug stage of development the chip can stay on the application board while being reprogrammed.. Hooking up ICP to the Application board Figure shows how an ICP programming device can be hooked up to the Application board. This allows the microcontroller to be (re)programmed while it is already soldered on the board. Application note Rev. 0 October 00 of

application jumpers PCL PDA reset P9LPC9xx ICP DEVICE PROGRAMMER application PCL PDA reset header application board 00aaa Fig. ICP set-up Table shows the pins needed for ICP programming. Table : Programming pins used for ICP Mnemonic Type Name and function Disconnect regular connection? P Ground: 0 V reference. No P Power Supply: V Yes [] PCL I Serial clock input for programming Yes [] communication. PDA I/O Serial data I/O for programming Yes [] communication. RESET I ICP programming entry pin Yes [] [] The connection to the application has to be disconnected during ICP programming. The majority of the LPC900 family have the pins necessary for ICP located in the same configuration. Only the LPC90/90/90 differ from the same configuration, see Section for the pin configurations of the LPC900 parts. Application note Rev. 0 October 00 of

. Using the EPM900 as an ICP programmer The EPM900 Emulator / Programmer from Keil Software supports ICP programming of all devices that have ICP. The EPM900 can be setup to do the ICP programming using the Keil PVision IDE. Under the Utilities tab in Options for Target, select Use Target Driver for Flash Programming and select the Target to be LPC900 EPM Emulator/ Programmer. Click on Settings to select the device you want to program. Fig. Options for the EPM900. Set-up In the Settings menu you can select the device you want to program from the Device pull-down menu. The programming mode will be ICP by default on devices that only have ICP programming capability. The parts can be hooked up one-to-one from the EPM900 to the application board as shown in Figure. Connect all and then program with the EPM900. Application note Rev. 0 October 00 of

Fig. Settings for the EMP900 as ICP programmer Table : ICP connection to EPM900 pin ICP Pin Hook up to EPM900 pin P0./PDA programming Data pin P0. P0./PCL programming clock pin P0. P./RST ICP mode entry pin P. needed for ICP mode entry When using the LPC90/90/90 make sure that the Pin to Pin is selected in the Adapter option. Application note Rev. 0 October 00 of

When the EPM900 is hooked up to the Application board and the project you want to program into the microcontroller is open press the LOAD button on the Build toolbar to start downloading code to the microcontroller. Fig. LOAD button on the Build toolbar. Modifying the MCB900 as ICP programmer The MCB900 evaluation board from Keil Software can be modified to be able to work as an ICP programming device. Only PNP transistor and an ICP ribbon cable to the application board is needed. The LPC9 on the MCB900 can be programmed to interface between the ISP protocol used by the FlashMagic ISP programming software and the ICP protocol needed to program the LPC9xx.. Hardware set-up of the MCB900 Table shows how to hook up the MCB900 to the ICP target board. Table : ICP connection to MCB900 pin ICP Pin Hook up to MCB900 pin P0./PDA programming Data pin P0. P0./PCL programming clock pin P0. P./RST ICP mode entry pin P. needed for ICP mode entry P. [] [] To control, a PNP transistor is needed, because P. cannot supply enough current for the LPC9xx during programming. Application note Rev. 0 October 00 of

Fig. MCB900 hook-up. Programming the ISP-ICP bridge code For FlashMagic to be able to interface to the ICP protocol the ISP commands from FlashMagic have to be converted into ICP commands. This can be done by programming the ISP-ICP bridge code that will do the translation from FlashMagic s ISP commands to ICP commands. Step : If not yet installed or if you have a version before., install the latest FlashMagic from: www.esacademy.com/software/flashmagic. Step : Program the LPC9 device on the MCB900 board with the ISP-ICP bridge code using the FlashMagic software you installed in step. Set the jumper on the MCB900 board to the RESET position: Fig. MCB900 in Reset mode Application note Rev. 0 October 00 of

Connect the MCB900 to your PC COM port using a serial cable. Power up the MCB900 board. Start FlashMagic (Start Programs FlashMagic FlashMagic). Go to Options Advanced Options Hardware Config and make sure the box Use DTR and RTS to enter ISP mode is selected: Fig. Use DTR and RTS Go to Options Advanced Options Security and make sure the Protect ISP code option is selected: Fig. Protect ISP code Select the COM port you will be using to program the LPC9. Select the P9LPC9 as the device to be programmed. Select baud rate 900. Browse to the prog90x.hex file (this first has to be unzipped from the ZIP that includes the appnote). Check the erase all Flash box. Click start program the ISP-ICP bridge code into the P9LPC9: Application note Rev. 0 October 00 9 of

Fig 9. Start programming. Programming the LPC900 Once all setups from the previous chapter have been made, using FlashMagic the LPC900 devices can be programmed in steps corresponding to the numbered steps on the FlashMagic User Interface. Step 0: Disconnect the power cable from the MCB900 board Make sure that the jumpers on the application board are set for ICP programming mode and reset your application board is connected properly to the MCB900 board. Plug the power cable back in to enter ICP mode on the LPC9xx (the ICP mode is only entered on power-up of the MCB900). LED P. on the MCB900 board should light up. Start FlashMagic (Start Programs FlashMagic FlashMagic). Step : Select the COM port (make sure it is not already taken by another application, e.g. some PDA software) Application note Rev. 0 October 00 0 of

Select a baud rate of 900 baud (the ISP-ICP bridge application has a fixed baud rate of 900 baud) Select the LPC900 device you would like to program. At this point you can do a quick read of the device signature bytes to make sure you re connected to the LPC9xx: Fig 0. Checking signature bytes (example for LPC90) If FlashMagic cannot read the Device Signature or you get all FF s, please check your setup. See chapter. for the correct ID bytes. Step Select which Flash blocks should be erased before the programming operation. Step Select the hex file to be programmed. Step Can be used to set security bits and fill unused Flash (optional) Step Start programming!. Verification of the programmed code using CRCs The LPC90x verifies using CRC (Cyclic Redundancy Check). The make sure the LPC90x has been programmed correctly, use the ISP Cyclic Redundancy Check option in FlashMagic. For example, after the LED-Blinker code for the LPC90// is programmed into an LPC90 device, go to ISP Cyclic Redundancy Check : Application note Rev. 0 October 00 of

Fig. CRC check window The Device CRC column gives you the CRC checksum for each block plus the Global CRC checksum for the whole device. As you can see from the image above, The Device CRC matches the corresponding Hex File CRC from the hex file on the CD ROM. This means that the device was programmed successfully. (Please note that the code for the LED Blinker on the LPC90// has a different CRC). Application note Rev. 0 October 00 of

. Devices that are supported with the ICP programming interface. -pin packages handbook, halfpage VDD XTAL/P. CLKOUT/XTAL/P.0 RST/P. P9LPC90FD VSS P0./CINA/KBI P0./CMPREF/KBI P./T0 handbook, halfpage VDD P0./CINA/KBI P0.0/CMP/KBI0 RST/P. P9LPC90FD VSS P0./CINA/KBI P0./CMPREF/KBI P0./CMP/KBI 00aaa 00aaa9 Fig. P9LPC90 pinout Fig. P9LPC90 pinout handbook, halfpage VDD P0./CINA/KBI P./RxD RST/P. P9LPC90FD VSS P0./CINA/KBI P0./CMPREF/KBI P.0/TxD RST/P. VSS P0./CMP/KBI XTAL/P. P9LPC90 P0./CINA/KBI/PDA P0./CMPREF/KBI/PCL VDD CLKOUT/XTAL/P.0 00aaa0 00aaa Fig. P9LPC90 pinout Fig. P9LPC90 pinout RST/P. P0./CINA/KBI/PDA RST/P. P0./CINA/KBI/PDA VSS P0./CMP/KBI P./T0 P9LPC90 P0./CMPREF/KBI/PCL VDD P.0/TxD VSS P0./CMP/KBI P./RxD P9LPC90 P0./CMPREF/KBI/PCL VDD P.0/TxD 00aaa 00aaa9 Fig. P9LPC90 pinout Fig. P9LPC90 pinout P./MOSI P./MISO P./MOSI P./MISO SPICLK/P. P0./CINA/KBI SPICLK/P. P0./CINA/KBI RST/P. P0./CMP/KBI P9LPC9 0 P0./CINA/KBI/PDA P0./CMPREF/KBI/PCL RST/P. P0./CMP/KBI P9LPC9 0 P0./CINA/KBI/PDA P0./CMPREF/KBI/PCL P./T0 9 P./SS P./RXD 9 P.0/TXD XTAL/P. CLKOUT/XTAL/P.0 XTAL/P. CLKOUT/XTAL/P.0 00aaa0 00aaa Fig. P9LPC9 pinout Fig 9. P9LPC9 pinout Application note Rev. 0 October 00 of

KBI0/CMP/P0.0 0 P0./CINB/KBI P. P. 9 P0./CINA/KBI P0./CINB/KBI P./MOSI P./MISO RST/P. P0./CINA/KBI SPICLK/P. RST/P. P0./CMP/KBI P9LPC9 0 P0./CINA/KBI P0./CINA/KBI/PDA P0./CMPREF/KBI/PCL XTAL/P. CLKOUT/XTAL/P.0 INT/P. P9LPC90 P9LPC9 P9LPC9 P0./CMPREF/KBI P0./CMP/KBI P0./T/KBI P./RXD 9 P.0/TXD SDA/INT0/P. 9 P.0/TXD P./T0 P./SS SCL/T0/P. 0 P./RXD 00aaa 00aaa Fig 0. P9LPC9 pinout Fig. P9LPC9/9/90 pinout P.0 P. DAC0/P.0 P. P. P. P. P. KBIO/CMP/P0.0 P0./CINB/KBI KBI0/CMP/P0.0 P0./CINB/KBI/AD0 P. P0./CINA/KBI P. P0./CINA/KBI/AD P. P0./CINB/KBI P. P0./CINB/KBI/AD RST/P. P0./CINA/KBI/PDA RST/P. P0./CINA/KBI/AD/DAC/PDA VSS XTAL/P. CLKOUT/XTAL/P.0 9 P9LPC90 P9LPC9 0 P0./CMPREF/KBI/PCL VDD P0./CMP/KBI XTAL/P. CLKOUT/XTAL/P.0 9 P9LPC9 P9LPC9 0 P0./CMPREF/KBI/PCL P0./CMP/KBI INT/P. 0 9 P0./T/KBI INT/P. 0 9 P0./T/KBI SDA/INT0/P. P.0/TXD SDA/INT0/P. P.0/TXD SCL/T0/P. P./RXD SCL/T0/P. P./RXD MOSI/P. P./SPICLK MOSI/P. P./SPICLK MISO/P. P./SS MISO/P. P./SS 00aaa 00aaa Fig. P9LPC90/9 pinout Fig. P9LPC9/9 pinout Application note Rev. 0 October 00 of

handbook, halfpage AD0/DAC0/ICB/P.0 P./ICA AD0/OCD/P. P./OCA AD0/KBI0/CMP/P0.0 P0./CINB/KBI/AD0 AD00/OCC/P. P0./CINA/KBI/AD OCB/P. P0./CINB/KBI/AD RST/P. P0./CINA/KBI/AD/DAC/PDA XTAL/P. CLKOUT/XTAL/P.0 9 P9LPC9 0 P0./CMPREF/KBI/PCL P0./CMP/KBI INT/P. 0 9 P0./T/KBI SDA/INT0/P. P.0/TXD SCL/T0/P. P./RXD MOSI/P. P./SPICLK MISO/P. P./SS 00aaaa Fig. P9LPC9 pinout. Device ID bytes Table : Device ID bytes Device MFGID ID ID P9LPC90 h DD 0Dh P9LPC90 h DD 0Fh P9LPC90 h DD 0h P9LPC90 h DD h P9LPC90 h DD h P9LPC90 h DD h P9LPC9 h DD h P9LPC9 h DD h P9LPC9 h DD h P9LPC90 h DD Ah P9LPC9 h DD 0Bh P9LPC9 h DD 0Ch P9LPC90 h DD 9h P9LPC9 h DD 09h P9LPC9 h DD A0h P9LPC9 h DD Dh P9LPC9 h DD Eh Application note Rev. 0 October 00 of

. Disclaimers Life support These products are not designed for use in life support appliances, devices, or systems where malfunction of these products can reasonably be expected to result in personal injury. Philips Semiconductors customers using or selling these products for use in such applications do so at their own risk and agree to fully indemnify Philips Semiconductors for any damages resulting from such application. Right to make changes Philips Semiconductors reserves the right to make changes in the products - including circuits, standard cells, and/or software - described or contained herein in order to improve design and/or performance. When the product is in full production (status Production ), relevant changes will be communicated via a Customer Product/Process Change Notification (CPCN). Philips Semiconductors assumes no responsibility or liability for the use of any of these products, conveys no licence or title under any patent, copyright, or mask work right to these products, and makes no representations or warranties that these products are free from patent, copyright, or mask work right infringement, unless otherwise specified. Application note Rev. 0 October 00 of

. Contents Introduction............................ Hooking up ICP to the Application board.... Using the EPM900 as an ICP programmer.... Set-up................................ Modifying the MCB900 as ICP programmer... Hardware set-up of the MCB900............ Programming the ISP-ICP bridge code....... Programming the LPC900............... 0. Verification of the programmed code using CRCs.......................... Devices that are supported with the ICP programming interface................... -pin packages......................... Device ID bytes....................... Disclaimers............................ Koninklijke Philips Electronics N.V. 00 All rights are reserved. Reproduction in whole or in part is prohibited without the prior written consent of the copyright owner. The information presented in this document does not form part of any quotation or contract, is believed to be accurate and reliable and may be changed without notice. No liability will be accepted by the publisher for any consequence of its use. Publication thereof does not convey nor imply any license under patent- or other industrial or intellectual property rights. Date of release: October 00 Document number: 99 0 Published in U.S.A.