Welcome to LPC4300 Development Community!

The LPC4300 series microcontrollers bring us a revolutionary new asymmetrical dual-core architecture with ARM® Cortex™-M4 and Cortex™-M0 processors.

The dual-core architecture is a new subject for many embedded developers. It raises a lot of questions and can puzzle even an experienced engineer.

This site comes to help newbies to overcome the complexity of the new technology and to let the experts to share their know-how.

The LPC4300 website is maintained by developers and for developers. It is fundamentally community oriented. We will post our reviews, code snippets and projects during our work with LPC4300 microcontrollers.

You are also welcome to post your articles about the LPC4300 series micro-controllers, open source projects and libraries. Only together we can make this site really useful.

The lpc4300.com web site is multilingual by its nature. It has language-specific forums and articles. The group of volunteers work hard to translate the content of the lpc4300.com site into as many languages as possilble.

If you feel that you can contribute to the community by translating some of the articles, please contact us.

Recent Articles

LPC4357 Tutorials

In this series of tutorials we will study the LPC4357 microcontroller, we will learn how to configure and use its on-chip peripheral.

But first let's take a look at the LPCXpresso IDE. This IDE is specifically designed for NXP’s LPC microcontrollers. It is based on Eclipse and GCC compiler. The free edition supports code sizes up to 256K.

You can download the LPCXpresso IDE from the lpcware web site. For the time of this writing the most recent version of the LPCXpresso IDE is 7.6.2.


Till now we were bothering with the project configuration and the microcontroller initialization. We did a very important work, but we haven't seen any output yet. Now comes the funniest part of our development. We will turn on the onboard LEDs.


JTAG Configuration

The JTAG debugger is configured in project options dialog box (menu [Project | Options...]). Switch to the Setup tab in the Debugger category. I use the IAR I-jet JTAG debugger, so let's select it from the Driver drop-down list. If you use other JTAG debugger, just chose it.

IAR i-jet jtag debugger

We need also to change some default values in the I-jet/JTAGjet category:

C Compiler Configuration

The CMSIS library source code files are distributed between a number of folders, but when they are included using the #include directive, the relative path is not specified. To avoide the "cannot open source file" error, we should instruct the compiler to search for the files in the following folders:

Microcontroller Initialization

We will use SystemInit() and CGU_Init() function to initialize the LPC4300 microcontroller and its Clock Generation Unit (CGU) respectively. These functions are defined in system_LPC43xx.c and lpc43xx_cgu.c files, so let's add them to our project. 

Use Add Files dialog box (menu [Project | Add Files...]) to add the files from the following locations: