**** Advance Notice ****

This site will be closed on 31 December 2015,

Important Information for users of NXP LPCXpresso

This site is for users of Code Red branded products.

NXP LPCXpresso users should visit the LPCXpresso FAQ's for up-to-date information relevant to that product.

LPC18xx / LPC43xx Support


We recommend that anyone targeting LPC18xx or LPC43xx parts ensures that they are using at least Code Red IDE v4.3.0 or preferably Code Red IDE v5.x.x.

For details of how to update or upgrade to the latest version of the IDE, please visit our Downloads and Versions page.

Also note that some of the information provided in this FAQ may not apply to releases before v5.0.14.

LPC18xx / LPC43xx Variants

Variants of the LPC18xx and LPC43xx families are available with and without internal flash. For more details, please see NXP's website and documentation:

Internal Flash Support

Support for LPC18xx/43xx parts with internal flash (such as LPC1857/LPC4357) was added in Code Red IDE v4.3.0. For more details please see the FAQ "LPC18xx/43xx Internal Flash Support".

External flash support

The LPC18x0/43x0 parts do not have integrated flash within the MCU. However they can be connected to external flash, which Code Red IDE projects can be configured to make use of. For more details please see the FAQ "LPC18xx/43xx External Flash Support".

Supported debug probes

You can use either a Red Probe+ (or original Red Probe) or the LPC-Link probe from an LPCXpresso board to debug your LPC18xx/LPC43xx.

Note that Code Red IDE v5 (and earlier) do not support the use of LPC-Link2 with the LPC18/43 families. For more details, please see the FAQ LPC-Link2 Support.

JTAG vs SWD debug connections

Unlike most other Cortex-M based MCU's (including LPC18xx), when you start a debug connection to an LPC43xx, you will by default connect using JTAG. This is because of the dual core nature of the LPC43xx parts (SWD only supports connections to a one core system).

The first time that you start a debug session to the LPC43xx using a JTAG connection, you will receive a pop up dialog offering you a choice of which of the two cores on the LPC43xx to connect to. Normally you should ensure that you select "Device 1" which has the TAP Id = 0x4ba00477 - which is the Cortex-M4. This selection is then stored in the *.jtag file that will be placed in the Debug/Release directory. Note that you can cause the pop up dialog to reappear again by deleting the *.jtag file.

Note that it is possible to reconfigure an LPC43xx project so that an SWD connection is used instead. To do this you need to change the "Debugger Configuration" setting in the Launch Configuration from "NXP LPC43xx (JTAG)" to "NXP LPC43xx (SWD)". For more details, please see the FAQ Launch Configuration Menu.


When programming and running code from the external flash, it is particularly important to make sure that you have the boot pins P2_9, P2_8, P1_2, and P1_1 are correctly connected so that the MCU starts execution from the correct memory address. For more details, please see the NXP documentation.

If the boot pins are incorrectly set, then this will typically result in the initial default breakpoint set by the debugger on main() not been reached. You can confirm if this is the case by clicking on suspend icon to pause execution (when you fail to hit the initial breakpoint) and then looking at the address of the PC. If you built for SPIFI, then the address of the PC should be 0x14xx xxxx, whereas if you built for EMC (SST), then the address of the PC should be 0x1Cxx xxxx.

BOOT pins example (Hitex LPC1850/4350 board)

For example, for the Hitex LPC1850/4350 board, you need to have the BOOT jumpers configued as follows :

For more details see section 7.1 "Boot options" of the Hitex Quickstart Guide LPC1850/LPC4350 Board (version 1.20).

Note : A power on reset is definitely required after changing the BOOT pin settings.

Existing code and projects

Code taken from examples, or generated by the project wizard in versions of the Code Red IDE prior to v4.30 should not be used with the latest silicon/boards. Use the examples provided with latest version of the Code Red IDE. This includes startup code generated by the project wizard. Replace any existing startup code with that created by the current version of the Code Red IDE.

LPC43xx Multicore development

For Code Red IDE v5.2.2 and later, please see the FAQ "Creating LPC43xx Cortex-M4 / M0 Multicore Applications".

For earlier versions, please see the FAQ "Creating an LPC43xx Cortex-M4 / M0 Dual Core Application".

Silicon and board revisions

The initial LPC18xx and LPC43xx parts with no internal flash (LPC1850/LPC4350) went through a rather long gestation period, with several pre-production silicon revisions, which some customers have acquired mounted on various revisions of the Hitex LPC1850/4350 eval board. Going forward we recommend using (and will only provide support in the Code Red IDE for) production silicon and rev A4 of the Hitex eval board.

The easy ways to tell if your Hitex eval board is rev A4 are to…

You also want to check your silicon revision and ensure that you have production silicon - which is marked "AY". For example, the full markings on the LPC4350 chip that we currently have here are:


Other boards

Now that production silicon is available, vendors other than Hitex are now also making LPC18/43 boards available, some mounting parts with internal flash, others relying on external flash. For example:

LPC1850_4350_Support (last edited 2013-09-06 07:57:37 by CrSupportAb)