| LPCOpen Platform v1.03 LPCOpen Platform for NXP LPC Microcontrollers

- Main Page
- Modules
- Data Structures
- Files
- Related Pages

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Xpresso: Creating new LPC Xpresso projects

Introduction
This guide explains the process of how to setup a new Xpresso project for the LPCOpen platform. The guide covers organization of LPCOpen files, creating and configuring your workspace, adding project files, project libraries, other project dependencies, and more.

Before starting, get familiar with how the LPCOpen platform is structured.
Structure of LPCOpen code

Creating a new workspace
Before creating our project, we need to create a workspace to store the project.
Xpresso: Creating a new workspace

Is using a library right for you?
Although this guide uses a library for commonly used code, this overview on library projects might be helpful if your not sure you want to use a library.
Is using a library right for you?

Creating a new board library project
LPCOpen projects requires and common set of code from the various areas of LPCOpen. To make developing multiple projects easier, this common code will be setup as a library. If you are doing just a single project, you can just add all the source code to that project, but separating the common code into a library makes managing multiple projects easier. In the LPCOpen platform, the IP, Chip, and board layers for a platform are merged into a board library. Each board supported in the LPCOpen platform has it's own board library. The library project we will build will be for a supported board in LPCOpen.
Setting up an Xpresso library project for Chip and Board drivers

USBLIB is broken up into multiple libraries that are based on device family and either host or device class.
Setting up an Xpresso library project for LPCUSBLIB

Creating a new executable project
LPCOpen projects that generate an executable image usually only require the startup code and example files. These projects link to libraries (board and LPCUSBLIB) as needed and have a dependency on those library projects. We'll create a very simple blinky project, add the startup and example source code, and then build the image into an executable using the board library.
Setting up an Xpresso executable image project

That's it! If your example built without errors, you can try deploying and debugging the example on the board!