NXP LPC4300 CPU Support Package

This package contains project templates and system files for the NXP LPC4300.

CrossWorks Version 3 Installation Instructions

To install this support package
  1. Click the Tools > Package Manager menu option to open the package manager window.
  2. Right click on the NXP LPC4300 CPU Support Package entry and select Install Selected Packages.
  3. Click Next to take you to the summary page.
  4. Click Next to install the package.
  5. Click Finish to close the package manager window.
  6. Click the Tools > Show Installed Packages.
  7. Click on the NXP LPC4300 CPU Support Package link to view the package and its contents.
To manually install this support package
  1. If you have not done so already, follow the CMSIS 3 Support Package and CrossWorks Tasking Library Package installation instructions.
  2. Download the file LPC4300.hzq using your web browser.
  3. Click the Tools > Manually Install Packages menu option.
  4. Select the file you have just downloaded to install the package.
  5. Click the Tools > Show Installed Packages.
  6. Click on the NXP LPC4300 CPU Support Package link to view the package and its contents.
To install this support package using other versions

Release Notes

1.7

1.6

1.5

1.4

1.3

1.2

1.1

1.0

Documentation

Creating LPC4300 Projects

To create a new LPC4300 project
To build, load and debug an application running in internal RAM
To build, load and debug an application running in internal Flash.
To make the application startup from reset

LPC4300 Project Specifics

CMSIS support

CMSIS header files are included as part of the new project setup.

CTL support

The file LPC4300_ctl.c implements the CTL system timer using the Cortex-M4 SysTick timer or for the Cortex-M0 the RTI timer. The timer is configured to interrupt at a 10 millisecond rate and increment the CTL system timer by 10 to give a millisecond timer. The implementation uses the CMSIS SystemFrequency global variable to determine the CPU clock frequency.

Memory Simulator

An memory simulator is provided that simulates the memories of the various LPC4300 devices. The memory simulation parameter specifies the device name and the sizes of the SPIFI and the 4 static memories as macro values that can be defined with the memory simulation parameter macros project property.

Project Templates

The following project templates are supplied.

Section Placement

CrossStudio for ARM supports LPC4300 projects running applications in a number of different memory configurations. You can select the memory configuration you require by right clicking on the project node in the project explorer and selecting the Placement entry.

For LPC4300 projects the set of placements are:

Stack and Heap Sizes

The stack and heap sizes are set to be 256 bytes by default when a project is created. It is likely that you will need to change these values.

Target Reset Script

The reset script LPC4300_Target.js is used by the debugger to reset the target board.

Target Startup Code

The startup code LPC4300_Startup.s and LPC4300_CM0_Startup.s are common to all LPC4300 processors. There are a set of preprocessor defines that configure the startup code and are documented in the startup file itself. The startup code calls out to a weak symbol SystemInit with the stack pointer set to the top of RAM. The SystemInit function can be used to set the CPU clock or configure any external memories prior to the C initialisation code and as such it cannot access initialised static data.

The startup code LPC4300_CM0SUB_Startup.s is specific to the Cortex-M0 SUBSYSTEM of the LPC4370.

Board Specific Files

The board specific file LPC4300_ctl_board.c is included in the samples that implements SystemInit() and the ctl board support functions to flash a led and handle a button press.

Running Dual Core Samples

Note that dual core debug is currently only supported with Rowley implemented target interfaces i.e. CrossConnect, CMSIS-DAP, FTDI2232 and Wiggler.