1. 首页
  2. 编程语言
  3. 硬件开发
  4. LPC2000 Flash Utility

LPC2000 Flash Utility

上传者: 2019-04-10 21:35:36上传 ZIP文件 2MB 热度 93次
用于LPC2000系列芯片的程序烧录 /*Hints on Using the LPC2000 Flash Utility This document can be considered as a supplement to the already existing Application note AN10302 “Using the Philips LPC2000 Flash Utility”, which is provided in the same zip file. The Application note covers the following topics: 1. LPC2000 ISP Overview 2. ISP Mode Entry- Manual and RTS/DTR control circuit 3. Flash and RAM buffer operations 4. Keil MCB2100 board and IAR/Philips 210x KickStart board. Topics discussed in this guide are as follows: 1. Using the “Compare Flash” ISP command. 2. Flashless devices- LPC2220, LPC2210, LPC2290 Using the Compare Flash: The below steps need not be carried out if the checksum is part of the code before it is compiled. This would mean that checksum would be part of the hex file been created. For more detailed information on the checksum calculation please refer to the “Flash Memory System and Programming” chapter in the respective device User Manual. In this case, the hex file can be directly loaded using the “Upload to Flash” button and then the “ Compare Flash” button can be used to compare the Flash contents with the hex file. This direct operation is possible since the signature (or checksum) is part of the hex file already. The below steps need to be carried out if the checksum calculation is not part of the code been compiled. In this case, the checksum calculation has to be done by the utility. Step1: Open the “Buffer” menu and browse to “Flash Buffer operations”. When this menu item is clicked the following window will pop-up. Step2: Now click on the “Load Hex file” button. Please browse to the hex file, which needs to be downloaded into Flash. In this case, Blinky.hex would be loaded. Step3: Select the hex file and press “Open”. This would load the hex file into the buffer window as shown below. Please take a note of location 0x14. In this case, the checksum is not computed before the code is compiled. Step4: Now click on the “Vector Calc” button, which would calculate the checksum and load it at the reserved memory location, 0x14. As shown below this location gets updated. The updated value at 0x14 is as shown below Step5: Since this hex file is modified with the checksum, it needs to be saved back into the same location from where it was loaded. Clicking on the “Save Hex File” button would complete this step. When this is done, a message as shown below should appear. Click “Yes”. Step6: Download the hex file into Flash by clicking on the “Download Flash” button. The progress window should show the progress of the Flash download. Step7: The Flash Buffer Operations window can now be closed. Now, please click here and browse to “Blinky.hex” again. Now click the “Compare Flash” button and it should be a success. Flashless devices- LPC2220, LP2210, LPC2290: Since the LPC2220/2210/2290 does not have on-chip Flash, the ISP utility does not have these devices in its listing of supported Flash devices. However, the utility can still be used to issue ISP commands that would access the on-chip SRAM (using RAM Buffer Operations Window) and bootloader specific ISP commands like Read Device ID. For instance, when the above button is clicked, the ISP utility would complain saying that the “Type is not supported” which basically means that this device is not present in the listing of Flash devices. This error message can be ignored. After “OK” is pressed in the above message, the ISP commands will still be executed and the Part ID and the Boot loader ID will be displayed.*/ /*AN10302 Using the Philips LPC2000 Flash utility with the Keil MCB2100 and IAR LPC210x Kickstart evaluation boards Rev. 03 — 10 June 2004 Application note Document information Info Content Keywords LPC2000, Flash utility, Keil MCB2100, IAR LPC210x Abstract Application information for the Philips LPC2000 Flash utility with the Keil MCB2100 and IAR LPC210x Kickstart evaluation boards 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 2 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility 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 Revision history Rev Date Description 3 10 June 2004 Third version (9397 750 13354). Modifications: • Updated Table 2. • Updated Section 4.2.1. 2 12 May 2004 Second version (9397 750 13287). 1 30 April 2004 Initial version (9397 750 13231). 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 3 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility 1. Introduction In-System programming (ISP) is a method of programming and erasing the on-chip flash or RAM memory using the boot loader software and a serial port. The part may reside in the end-user system. The flash boot loader provides an In-System Programming interface for programming the on-chip flash or RAM memory. This boot loader is located in the upper 8 kB of flash memory, it can be read but not written to or erased. 2. LPC2000 ISP overview The flash boot loader code is executed every time the part is powered on or reset. The loader can execute the ISP command handler or pass execution to the user application code. A LOW level, after reset, at the P0.14 pin is considered as the external hardware request to start the ISP command handler. The boot loader samples this pin during reset. Assuming that proper signal is present on X1 pin when the rising edge on RST pin is generated, it may take up to 3 ms before P0.14 is sampled and the decision on whether to continue with user code or ISP handler is made. If P0.14 is sampled LOW and the watchdog overflow flag is set, the external hardware request to start the ISP command handler is ignored. If there is no request for the ISP command handler execution (P0.14 is sampled HIGH after reset), a search is made for a valid user program. If a valid user program is found then the execution control is transferred to it. If a valid user program is not found, the auto-baud routine is invoked. Pin P0.14 is used as hardware request for ISP requires special attention. Since P0.14 is in high impedance mode after reset, it is important that the user provides external hardware (a pull-up resistor or other device) to put the pin in a defined state. Otherwise unintended entry into ISP mode may occur. Figure 1 shows the boot sequence of the LPC210x devices. 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 4 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility Fig 1. Boot process flowchart. 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 5 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility 3. Details of the Philips LPC2000 Flash utility This flash utility is available for free download from the Philips website. This software, in combination with the hardware described below, allows for hands-off erasure, uploading, and execution of code. The Philips LPC2000 Flash utility utilizes two, otherwise unused, signals (RTS and DTR) of the PC serial port to control the microcontroller reset and P0.14 pins. The port pin P0.14, if LOW during reset, puts the microcontroller into In System Programming (ISP) mode; this pin has the alternate functions of external interrupt one and general purpose I/O (GPIO). Some details on the associated circuitry will help in understanding how this works. 3.1 Manual entry into ISP mode With jumper J1 removed and jumper J2 in place ISP mode will be entered manually by holding S2 while pressing and releasing S1 (reset). This can become cumbersome and so it is advantageous to use RTS/DTR control of these signals. 3.2 ISP mode entry using DTR/RTS With jumper J1 inserted and jumper J2 removed the reset and P0.14 signals may be controlled by the previously un-used RTS/DTR signals of the PC serial port. In this application both these signals are active HIGH. When RTS is asserted Q2 is turned on and the microcontroller reset is pulled LOW. While the micro is held in reset, DTR is asserted and P0.14 is held LOW. RTS is then brought LOW and so Q2 is turned off. The 10K pull-up resistor releases the RESET signal by pulling it HIGH. The microcontroller is now running in ISP mode. This sequence of ISP mode entry is performed for every operation offered by the Philips LPC2000 Flash Utility. Fig 2. The RTS/DTR control - an example circuit. 10K DTR S2_INT1_ISP D3 1 2 Q2 3 2 1 RST 22K S1_reset 33K D4 1 2 D1 1 2 P2 DSUB 9-R 5 9 4 8 3 7 2 6 1 5 9 4 8 3 7 2 6 1 100n Note: All signals to P2 except DTR and RTS have been omitted for clarity. 33K J2 12 100n RTS Q1 3 2 1 P0.14 22K Vcc J1 12 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 6 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility The main screen of the Flash Utility provides access to most if its functionality. When the “use DTR/RTS…” box (1) is checked then control of reset and P0.14 is done by the utility as described above. If this box is unchecked then ISP mode must be entered manually. If the “execute code after upload” is checked then, after code is programmed into the flash, an extra reset pulse is sent to the microcontroller to reset the part. Since, at this time, P0.14 will be HIGH, the part will execute code in flash after this reset. When the utility connects to the MCB2100 it will attempt to connect at the selected baud rate. The highest baud rate achievable will depend mostly on the frequency of the crystal. Using standard baud rate crystals (e.g. 14.7456 MHz) will increase the maximum baud rate achievable. 3.3 Flash buffer operations The flash buffer operation screen (accessible from the “buffer” pull-down menu) allows functions such as loading a HEX file, downloading from flash, uploading to flash, filling the buffer, saving the HEX file and calculation of the checksum “valid code” vector1. There is also the ability to fill the buffer with a particular value1 and program this buffer to flash. Fig 3. Flash Utility main screen. 1. The valid code vector at 0x14 is merely the two’s complement of the sum of the vector table. By assigning it this value the checksum for the entire vector table is 0x00 which indicates valid flash code. After reset the bootloader will examine this location and, if the value is correct (an indication of valid user code in flash), will execute code out of flash. If the value is not correct the bootloader will enter ISP mode. The Philips LPC2000 Flash Utility will automatically calculate and program this value during an upload to flash. Alternatively the vector calculation may be performed on the contents of flash buffer as shown in the screen-shot below. 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 7 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility 3.4 RAM buffer operations Ram buffer operations (accessible from the “buffer” pull-down menu) are similar to flash buffer operations including the uploading of HEX files etc. Fig 4. Flash buffer screen. 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 8 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility Fig 5. RAM buffer operations. 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 9 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility 4. Hardware 4.1 Keil MCB2100 evaluation board Figure 6 shows an overview of the Keil MCB2100 evaluation board. JTAG port — Connection to JTAG emulator (e.g. Keil ULink). This is a standard JTAG port as outlined in ARM documentation. ETM (Embedded Trace Macrocell) port — Provides interface to emulators with trace capability. P3 and P4, CAN ports — These provide access to the CAN ports (On boards that feature a microcontroller with CAN interfaces). P1 and P2, UARTs — Access to UART0 and UART1. S1 reset — Microcontroller reset. S2 ISP/INT1 — This button pulls the P0.14 pin of the microcontroller LOW, providing either an external interrupt or manual entry into ISP mode. Fig 6. Keil MCB2100 evaluation board overview. 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 10 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility LEDs — buffered with a 74LVC octal buffer, enabled by J6. Potentiometer — Configured as a voltage divider with its output connected to AIN0 via jumper J2. [1] These jumpers supply the voltages to the microcontroller and must be in for normal operation. [2] Remove this jumper when not using ISP. 4.1.1 Enabling ISP mode with the MCB2100 The Keil MCB2100 evaluation board was designed to utilize the RTS/DTR control of reset and P0.14 as featured in the Philips LPC2000 Flash utility. To setup the MCB2100 for ISP programming set the jumpers: J1, J3, J4, J5, J7 and J10. Connect the PC serial port to COM0 of the MCB2100 and start the LPC2000 Flash Utility. Check the “Use DTR/RTS……” box and continue. 4.2 The IAR/Philips LPC210x Kickstart card This evaluation board is populated with an LPC2106 microcontroller and features 2 serial ports, 2 user-defined buttons, 16 fully configurable LEDs, 20-pin JTAG interface connector as well as breakout headers for all pins. Table 1: Keil MCB2100 jumper functions Jumper Function J1 Configures P0.14 for DTR/RTS control of ISP (see ISP section below) J2 Potentiometer/ADC Connect J3[1] 3.3 V enable J4[1] 1.8 V enable J5 3.3 V analog voltage supply enable J6 LED enable J7 Configures P0.14 for external interrupt or manual ISP entry J8 ETM Pins Enable (Pulls TraceSync LOW) J9 JTAG Debug Pins Enable (Pulls RTCK LOW) J10[2] Configures RESET for DTR/RTS control of ISP (see ISP section below) 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 11 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility JTAG port — Connection to JTAG emulator (e.g. JLink). This is a standard JTAG port as outlined in ARM documentation. ETM (Embedded Trace Macrocell) port — Provides interface to emulators with trace capability. P0 and P1, UARTs — Access to UART0 and UART1. RESET — Microcontroller reset. Interrupt0 — This button provides a source for interrupt zero. Interrupt1 — This button pulls the P0.14 pin of the microcontroller LOW, providing either an external interrupt or manual entry into ISP mode. Interrupt2 — This button provides a source for interrupt two. LED jumper block — enables/disables individual LEDs. LEDs — buffered with a LVT16244. Fig 7. IAR/Philips LPC210x Kickstart card. 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 12 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility [1] P0.14 and external interrupt one share the same pin; therefore this button may also be used for manual entry into ISP mode by pressing it during a reset. [2] This jumper, when in the JTAG1 position, will cause the microcontroller to enter JTAG debug mode after reset. Therefore, when using ISP, this jumper must be removed or placed in the JTAG2 position. 4.2.1 Enabling ISP mode with the IAR/Philips Kickstart card The Kickstart Card evaluation board was designed to utilize the RTS/DTR control of reset and P0.14 as featured in the Philips LPC2000 Flash utility. To setup the Kickstart Card for ISP programming set the jumpers: JP7, JP8, JP2 and JP4. Remove jumper JP6. Connect the PC serial port to P0 (UART0) of the Kickstart Card and start the LPC2000 Flash Utility. Check the “Use DTR/RTS……” box and continue. Table 2: IAR/Philips Kickstart card jumper functions Jumper Function JP1 Enables external interrupt zero via the push-button JP2 Enables ISP and external interrupt one[1] JP3 Connects P0.9/RxD1 (UART1) to the MAX3232 JP4 Connects P0.1/RxD0 (UART0) to the MAX3232 JP5 Enables external interrupt zero via the push-button JP6 Primary/Secondary JTAG select[2] JP7 Enable DTR/RTS control of P0.14 JP8 Enable DTR/RTS control of RESET Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 13 of 14 5. 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. © Koninklijke Philips Electronics N.V. 2004 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: 10 June 2004 Document order number: 9397 750 13354 Published in U.S.A. Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility 6. Contents 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 LPC2000 ISP overview . . . . . . . . . . . . . . . . . . . 3 3 Details of the Philips LPC2000 Flash utility. . . 5 3.1 Manual entry into ISP mode . . . . . . . . . . . . . . . 5 3.2 ISP mode entry using DTR/RTS. . . . . . . . . . . . 5 3.3 Flash buffer operations. . . . . . . . . . . . . . . . . . . 6 3.4 RAM buffer operations . . . . . . . . . . . . . . . . . . . 7 4 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.1 Keil MCB2100 evaluation board . . . . . . . . . . . . 9 4.1.1 Enabling ISP mode with the MCB2100 . . . . . 10 4.2 The IAR/Philips LPC210x Kickstart card . . . . 10 4.2.1 Enabling ISP mode with the IAR/Philips Kickstart card . . . . . . . . . . . . . . . . . . . . . . . . . 12 5 Disclaimers. . . . . . . . . . . . . . . . . . . . . . . . . . . . 13*/ Manual and RTS/DTR control circuit 3. Flash and RAM buffer operations 4. Keil MCB2100 board and IAR/Philips 210x KickStart board. Topics discussed in this guide are as follows: 1. Using the “Compare Flash” ISP command. 2. Flashless devices- LPC2220, LPC2210, LPC2290 Using the Compare Flash: The below steps need not be carried out if the checksum is part of the code before it is compiled. This would mean that checksum would be part of the hex file been created. For more detailed information on the checksum calculation please refer to the “Flash Memory System and Programming” chapter in the respective device User Manual. In this case, the hex file can be directly loaded using the “Upload to Flash” button and then the “ Compare Flash” button can be used to compare the Flash contents with the hex file. This direct operation is possible since the signature (or checksum) is part of the hex file already. The below steps need to be carried out if the checksum calculation is not part of the code been compiled. In this case, the checksum calculation has to be done by the utility. Step1: Open the “Buffer” menu and browse to “Flash Buffer operations”. When this menu item is clicked the following window will pop-up. Step2: Now click on the “Load Hex file” button. Please browse to the hex file, which needs to be downloaded into Flash. In this case, Blinky.hex would be loaded. Step3: Select the hex file and press “Open”. This would load the hex file into the buffer window as shown below. Please take a note of location 0x14. In this case, the checksum is not computed before the code is compiled. Step4: Now click on the “Vector Calc” button, which would calculate the checksum and load it at the reserved memory location, 0x14. As shown below this location gets updated. The updated value at 0x14 is as shown below Step5: Since this hex file is modified with the checksum, it needs to be saved back into the same location from where it was loaded. Clicking on the “Save Hex File” button would complete this step. When this is done, a message as shown below should appear. Click “Yes”. Step6: Download the hex file into Flash by clicking on the “Download Flash” button. The progress window should show the progress of the Flash download. Step7: The Flash Buffer Operations window can now be closed. Now, please click here and browse to “Blinky.hex” again. Now click the “Compare Flash” button and it should be a success. Flashless devices- LPC2220, LP2210, LPC2290: Since the LPC2220/2210/2290 does not have on-chip Flash, the ISP utility does not have these devices in its listing of supported Flash devices. However, the utility can still be used to issue ISP commands that would access the on-chip SRAM (using RAM Buffer Operations Window) and bootloader specific ISP commands like Read Device ID. For instance, when the above button is clicked, the ISP utility would complain saying that the “Type is not supported” which basically means that this device is not present in the listing of Flash devices. This error message can be ignored. After “OK” is pressed in the above message, the ISP commands will still be executed and the Part ID and the Boot loader ID will be displayed.*/ /*AN10302 Using the Philips LPC2000 Flash utility with the Keil MCB2100 and IAR LPC210x Kickstart evaluation boards Rev. 03 — 10 June 2004 Application note Document information Info Content Keywords LPC2000, Flash utility, Keil MCB2100, IAR LPC210x Abstract Application information for the Philips LPC2000 Flash utility with the Keil MCB2100 and IAR LPC210x Kickstart evaluation boards 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 2 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility 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 Revision history Rev Date Description 3 10 June 2004 Third version (9397 750 13354). Modifications: • Updated Table 2. • Updated Section 4.2.1. 2 12 May 2004 Second version (9397 750 13287). 1 30 April 2004 Initial version (9397 750 13231). 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 3 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility 1. Introduction In-System programming (ISP) is a method of programming and erasing the on-chip flash or RAM memory using the boot loader software and a serial port. The part may reside in the end-user system. The flash boot loader provides an In-System Programming interface for programming the on-chip flash or RAM memory. This boot loader is located in the upper 8 kB of flash memory, it can be read but not written to or erased. 2. LPC2000 ISP overview The flash boot loader code is executed every time the part is powered on or reset. The loader can execute the ISP command handler or pass execution to the user application code. A LOW level, after reset, at the P0.14 pin is considered as the external hardware request to start the ISP command handler. The boot loader samples this pin during reset. Assuming that proper signal is present on X1 pin when the rising edge on RST pin is generated, it may take up to 3 ms before P0.14 is sampled and the decision on whether to continue with user code or ISP handler is made. If P0.14 is sampled LOW and the watchdog overflow flag is set, the external hardware request to start the ISP command handler is ignored. If there is no request for the ISP command handler execution (P0.14 is sampled HIGH after reset), a search is made for a valid user program. If a valid user program is found then the execution control is transferred to it. If a valid user program is not found, the auto-baud routine is invoked. Pin P0.14 is used as hardware request for ISP requires special attention. Since P0.14 is in high impedance mode after reset, it is important that the user provides external hardware (a pull-up resistor or other device) to put the pin in a defined state. Otherwise unintended entry into ISP mode may occur. Figure 1 shows the boot sequence of the LPC210x devices. 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 4 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility Fig 1. Boot process flowchart. 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 5 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility 3. Details of the Philips LPC2000 Flash utility This flash utility is available for free download from the Philips website. This software, in combination with the hardware described below, allows for hands-off erasure, uploading, and execution of code. The Philips LPC2000 Flash utility utilizes two, otherwise unused, signals (RTS and DTR) of the PC serial port to control the microcontroller reset and P0.14 pins. The port pin P0.14, if LOW during reset, puts the microcontroller into In System Programming (ISP) mode; this pin has the alternate functions of external interrupt one and general purpose I/O (GPIO). Some details on the associated circuitry will help in understanding how this works. 3.1 Manual entry into ISP mode With jumper J1 removed and jumper J2 in place ISP mode will be entered manually by holding S2 while pressing and releasing S1 (reset). This can become cumbersome and so it is advantageous to use RTS/DTR control of these signals. 3.2 ISP mode entry using DTR/RTS With jumper J1 inserted and jumper J2 removed the reset and P0.14 signals may be controlled by the previously un-used RTS/DTR signals of the PC serial port. In this application both these signals are active HIGH. When RTS is asserted Q2 is turned on and the microcontroller reset is pulled LOW. While the micro is held in reset, DTR is asserted and P0.14 is held LOW. RTS is then brought LOW and so Q2 is turned off. The 10K pull-up resistor releases the RESET signal by pulling it HIGH. The microcontroller is now running in ISP mode. This sequence of ISP mode entry is performed for every operation offered by the Philips LPC2000 Flash Utility. Fig 2. The RTS/DTR control - an example circuit. 10K DTR S2_INT1_ISP D3 1 2 Q2 3 2 1 RST 22K S1_reset 33K D4 1 2 D1 1 2 P2 DSUB 9-R 5 9 4 8 3 7 2 6 1 5 9 4 8 3 7 2 6 1 100n Note: All signals to P2 except DTR and RTS have been omitted for clarity. 33K J2 12 100n RTS Q1 3 2 1 P0.14 22K Vcc J1 12 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 6 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility The main screen of the Flash Utility provides access to most if its functionality. When the “use DTR/RTS…” box (1) is checked then control of reset and P0.14 is done by the utility as described above. If this box is unchecked then ISP mode must be entered manually. If the “execute code after upload” is checked then, after code is programmed into the flash, an extra reset pulse is sent to the microcontroller to reset the part. Since, at this time, P0.14 will be HIGH, the part will execute code in flash after this reset. When the utility connects to the MCB2100 it will attempt to connect at the selected baud rate. The highest baud rate achievable will depend mostly on the frequency of the crystal. Using standard baud rate crystals (e.g. 14.7456 MHz) will increase the maximum baud rate achievable. 3.3 Flash buffer operations The flash buffer operation screen (accessible from the “buffer” pull-down menu) allows functions such as loading a HEX file, downloading from flash, uploading to flash, filling the buffer, saving the HEX file and calculation of the checksum “valid code” vector1. There is also the ability to fill the buffer with a particular value1 and program this buffer to flash. Fig 3. Flash Utility main screen. 1. The valid code vector at 0x14 is merely the two’s complement of the sum of the vector table. By assigning it this value the checksum for the entire vector table is 0x00 which indicates valid flash code. After reset the bootloader will examine this location and, if the value is correct (an indication of valid user code in flash), will execute code out of flash. If the value is not correct the bootloader will enter ISP mode. The Philips LPC2000 Flash Utility will automatically calculate and program this value during an upload to flash. Alternatively the vector calculation may be performed on the contents of flash buffer as shown in the screen-shot below. 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 7 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility 3.4 RAM buffer operations Ram buffer operations (accessible from the “buffer” pull-down menu) are similar to flash buffer operations including the uploading of HEX files etc. Fig 4. Flash buffer screen. 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 8 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility Fig 5. RAM buffer operations. 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 9 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility 4. Hardware 4.1 Keil MCB2100 evaluation board Figure 6 shows an overview of the Keil MCB2100 evaluation board. JTAG port — Connection to JTAG emulator (e.g. Keil ULink). This is a standard JTAG port as outlined in ARM documentation. ETM (Embedded Trace Macrocell) port — Provides interface to emulators with trace capability. P3 and P4, CAN ports — These provide access to the CAN ports (On boards that feature a microcontroller with CAN interfaces). P1 and P2, UARTs — Access to UART0 and UART1. S1 reset — Microcontroller reset. S2 ISP/INT1 — This button pulls the P0.14 pin of the microcontroller LOW, providing either an external interrupt or manual entry into ISP mode. Fig 6. Keil MCB2100 evaluation board overview. 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 10 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility LEDs — buffered with a 74LVC octal buffer, enabled by J6. Potentiometer — Configured as a voltage divider with its output connected to AIN0 via jumper J2. [1] These jumpers supply the voltages to the microcontroller and must be in for normal operation. [2] Remove this jumper when not using ISP. 4.1.1 Enabling ISP mode with the MCB2100 The Keil MCB2100 evaluation board was designed to utilize the RTS/DTR control of reset and P0.14 as featured in the Philips LPC2000 Flash utility. To setup the MCB2100 for ISP programming set the jumpers: J1, J3, J4, J5, J7 and J10. Connect the PC serial port to COM0 of the MCB2100 and start the LPC2000 Flash Utility. Check the “Use DTR/RTS……” box and continue. 4.2 The IAR/Philips LPC210x Kickstart card This evaluation board is populated with an LPC2106 microcontroller and features 2 serial ports, 2 user-defined buttons, 16 fully configurable LEDs, 20-pin JTAG interface connector as well as breakout headers for all pins. Table 1: Keil MCB2100 jumper functions Jumper Function J1 Configures P0.14 for DTR/RTS control of ISP (see ISP section below) J2 Potentiometer/ADC Connect J3[1] 3.3 V enable J4[1] 1.8 V enable J5 3.3 V analog voltage supply enable J6 LED enable J7 Configures P0.14 for external interrupt or manual ISP entry J8 ETM Pins Enable (Pulls TraceSync LOW) J9 JTAG Debug Pins Enable (Pulls RTCK LOW) J10[2] Configures RESET for DTR/RTS control of ISP (see ISP section below) 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 11 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility JTAG port — Connection to JTAG emulator (e.g. JLink). This is a standard JTAG port as outlined in ARM documentation. ETM (Embedded Trace Macrocell) port — Provides interface to emulators with trace capability. P0 and P1, UARTs — Access to UART0 and UART1. RESET — Microcontroller reset. Interrupt0 — This button provides a source for interrupt zero. Interrupt1 — This button pulls the P0.14 pin of the microcontroller LOW, providing either an external interrupt or manual entry into ISP mode. Interrupt2 — This button provides a source for interrupt two. LED jumper block — enables/disables individual LEDs. LEDs — buffered with a LVT16244. Fig 7. IAR/Philips LPC210x Kickstart card. 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 12 of 14 Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility [1] P0.14 and external interrupt one share the same pin; therefore this button may also be used for manual entry into ISP mode by pressing it during a reset. [2] This jumper, when in the JTAG1 position, will cause the microcontroller to enter JTAG debug mode after reset. Therefore, when using ISP, this jumper must be removed or placed in the JTAG2 position. 4.2.1 Enabling ISP mode with the IAR/Philips Kickstart card The Kickstart Card evaluation board was designed to utilize the RTS/DTR control of reset and P0.14 as featured in the Philips LPC2000 Flash utility. To setup the Kickstart Card for ISP programming set the jumpers: JP7, JP8, JP2 and JP4. Remove jumper JP6. Connect the PC serial port to P0 (UART0) of the Kickstart Card and start the LPC2000 Flash Utility. Check the “Use DTR/RTS……” box and continue. Table 2: IAR/Philips Kickstart card jumper functions Jumper Function JP1 Enables external interrupt zero via the push-button JP2 Enables ISP and external interrupt one[1] JP3 Connects P0.9/RxD1 (UART1) to the MAX3232 JP4 Connects P0.1/RxD0 (UART0) to the MAX3232 JP5 Enables external interrupt zero via the push-button JP6 Primary/Secondary JTAG select[2] JP7 Enable DTR/RTS control of P0.14 JP8 Enable DTR/RTS control of RESET Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility 9397 750 13354 © Koninklijke Philips Electronics N.V. 2004. All rights reserved. Application note Rev. 03 — 10 June 2004 13 of 14 5. 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. © Koninklijke Philips Electronics N.V. 2004 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: 10 June 2004 Document order number: 9397 750 13354 Published in U.S.A. Philips Semiconductors AN10302 Using the Philips LPC2000 Flash utility 6. Contents 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 LPC2000 ISP overview . . . . . . . . . . . . . . . . . . . 3 3 Details of the Philips LPC2000 Flash utility. . . 5 3.1 Manual entry into ISP mode . . . . . . . . . . . . . . . 5 3.2 ISP mode entry using DTR/RTS. . . . . . . . . . . . 5 3.3 Flash buffer operations. . . . . . . . . . . . . . . . . . . 6 3.4 RAM buffer operations . . . . . . . . . . . . . . . . . . . 7 4 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.1 Keil MCB2100 evaluation board . . . . . . . . . . . . 9 4.1.1 Enabling ISP mode with the MCB2100 . . . . . 10 4.2 The IAR/Philips LPC210x Kickstart card . . . . 10 4.2.1 Enabling ISP mode with the IAR/Philips Kickstart card . . . . . . . . . . . . . . . . . . . . . . . . . 12 5 Disclaimers. . . . . . . . . . . . . . . . . . . . . . . . . . . . 13*/
用户评论