This FAQ largely applies to LPCXpresso IDE v7.5 and earlier. If you are using LPCXpresso IDE v7.6 or later, please see the FAQ "LPC18xx / LPC43xx SPIFI Flash Drivers " instead.
The NXP LPC18x0/43x0 MCUs do not have integrated, internal flash within the MCU. However they can be connected to external flash. LPCXpresso IDE provides mechanisms to configure the memory layout of a project to include this external flash, and then configure the debugger to be able to program the generated image down into the external flash. This configuration is carried out using the "Memory Configuration Editor".
This FAQ details the external flash drivers that are actually supplied with the LPCXpresso IDE. For details of how to modify these drivers, or produce your own for other flash devices, please see the FAQ "User loadable flash drivers ".
For more general information on developing for LPC43 family parts, please see the FAQ "LPC18xx / LPC43xx support in LPCXpresso ".
SPIFI Flash Drivers (old generation)
The following pre-built SPIFI flash drivers are provided with the LPCXpresso IDE (as of version 6.1.0):
Note: SPIFI flash is located at 0x14000000.
|Flash driver||Flash size||Sector size||Example Part||Example Board|
|LPC18_43_SPIFI_16MB_256KB.cfx||16MB (128Mb)||256KB||Hitex LPC1850 and LPC4350 (rev A5)|
|LPC18_43_SPIFI_8MB_64KB.cfx||8MB (64Mb)||64KB||Spansion S25FL064P||Hitex LPC1850 and LPC4350 (rev A4)|
|LPC18_43_SPIFI_4MB_64KB.cfx||4MB (32Mb)||64KB||Spansion S25FL032||NGX LPC4330-Xplorer and LPC1830-Xplorer|
|LPC18_43_SPIFI_8MB_4KB.cfx||8MB (64Mb)||4KB||Winbond W25Q32|
|LPC18_43_SPIFI_4MB_4KB.cfx||4MB (32Mb)||4KB||Winbond W25Q64|
|LPC18_43_SPIFI_1MB_4KB.cfx||1MB (8Mb)||4KB||Winbond W25Q80BVSSIG||LPC-Link2|
- These flash drivers have been developed from the SPIFI library code provided in NXP's LPC18/43 Peripheral Driver Libraries, the original sources for which are available from LPCWare. The actual project files can be found in the LPCXpresso IDE examples subdirectory - so that you can modify in order to produce drivers for other SPIFI flash devices.
- All of the above SPIFI flash drivers assume a page size for programming of 256 bytes.
- A LPC1850A_4350A_SPIFI.cfx driver is also supplied which is identical to the LPC18_43_SPIFI_8MB_64KB.cfx driver. This is supplied for compatibility with projects originally created with LPCXpresso v4.
SPIFI Flash Drivers (new generation)
As of LPCXpresso 7.3.0, LPCXpresso IDE now ships with several SPIFI flash drivers based on the new generation LPCOpen lpcspifilib.
This new library has a number of advantages over the SPIFI library used for older LPCXpresso SPIFI flash drivers - in particular it supports programming newer flash devices, as well as being available in source form as well as in pre-built library form.
The actual project files for building these SPIFI flash drivers can be found in the LPCXpresso IDE examples subdirectory - so that you can modify in order to produce drivers for other SPIFI flash devices. You can import these into LPCXpresso from:
As of LPCXpresso 7.30, the following prebuilt new generation flash drivers are shipped:
- LPC18_43_S25FL032P.cfx : Spansion S25FL032P (4MB with 64KB sectors)
- LPC18_43_S25FL164K.cfx : Spansion S25FL164K (8MB with 64KB sectors)
- LPC18_43_MX25L3235E.cfx : Macronix MX25L3235E (4MB with 64KB sectors)
Note that unlike the older LPCXpresso SPIFI flash drivers, these new generation drivers are built for use with a specific flash device.
Further flash drivers are planned, as support for further devices is added to the underlying LPCOpen lpcspifilib.
EMC Flash Drivers
Flash drivers for external flash attached to the external memory controller is provided for specific boards/flash devices:.
Note: EMC flash is located at 0x1c000000.
These EMC flash drivers are based on code provided in NXP's LPC18/43 Peripheral Driver Libraries, the original sources for which are available from LPCWare. The actual project files can be found in the LPCXpresso IDE examples sub directory - so that you can modify in order to produce drivers for other flash devices.
Two prebuilt drivers are provided to support the use of the SST / EMC flash devices fitted to the Hitex LPC1850 / 4350 Evaluation boards (rev A4):
SST39VF3201B_Hitex_LPC1850A_4350A.cfx was the original flash driver but only supports the SST39VF3201B device, not the SST39VF3201 device (note the lack of the 'B') that is now being fitted to some Hitex eval boards. SST39VF3201x_Hitex_LPC1850A_4350A.cfx is an updated driver that supports both the SST39VF3201B and SST39VF3201 devices, and is the recommended driver to use.
The following prebuilt driver is provided to support the flash device fitted to the Diolan LPC1850-DB1 / LPC4350-DB1 boards: