LPC SPIFI Peripheral


Roll over image to zoom in

Software Details

Select a section:


Choose a diagram:








  • Quad SPI Flash Interface (SPIFI) to external flash.
  • Transfer rates of up to SPIFI_CLK/2 bytes per second.
  • External flash is directly memory mapped for fast access.
  • Supports 1-, 2-, and 4-bit bi-directional serial protocols.
  • Transfer protocol compatible with various vendors and devices.
  • The SPIFI memory is accessible by the DMA.
  • Software driver library is available.
  • Supports execute-in-place (direct code execution from the SPI Flash memory) and general read/write/erase operations.
  • Built-in cache to give high-performance code execution.
  • Allows designers to use a small, inexpensive serial flash in place of larger, more expensive parallel flash.
  • With SPIFI, the external serial flash appears in the microcontroller’s memory map and can be read like other on-chip memory.

Boot from SPIFI:

LPC1800/4300 devices support boot from flash.The boot code sets the SPIFI clock to 32 MHz at the beginning of the boot process and checks for the type of SPI flash device. If the detected device is unknown, the SPIFI clock is reduced to 18 MHz,otherwise device boot with a SPIFI clock of 32MHz

  • Any device that can accept a 03 read serial opcode after receiving an FF opcode is expected to boot successfully.
  • A device that switches to quad opcodes and doesn't return after an 0xff reset to serial mode might not boot after a reset.
Device Boot Support Exit from no opcode mode Comments
Chingis PM25LD040, PM25LD010C, PM25LD020C, PM25LD512C, PM25LD256C, PM25LQ032C Yes
Giga Device GD25Q80 Yes
Macronix MX25L6435E, MX25L8006E, MX25L1606E, MX25L8035E, MX25L1633E, MX25L3235E, MX25L6435E, MX25L12835E, MX25L25635E, MX1635E Yes
MX25L12835F, MX25L25635F Yes These devices take longer time to be ready after power on. You may need to delay the startup of LPC18xx/LPC43xx.One way to achieve this sequence is to delay RESETN signal of LPC18xx/LPC43xx.
Micron M25PX80, M25PX16, M25PX32, M25PX64, M25P10, M25P16, M25P32, M25P64, M25P80 Yes
N25Q032A, N25Q064A, N25Q128A, N25Q256A No* LPC18xx/LPC43xx support cold boot with these devices. May not boot when LPC18xx/LPC43xx is reset and serial flash is in no Opcode mode. In case of planned reset, MCU can get serial flash out of No Opcode mode before resetting itself.
Spansion S25FL032P, S25FL064P, S25FL128S, S25FL256S, S25FL256S, S25FL129P, S25FL004K, S25FL008K
S25FL016K, S25FL032K, S25FL064K, S25FL116K, S25FL132K, S25FL164K,S25FL127S
SST(Microchip) SST25VF064,SST25VF016 Yes
Winbond W25Q80BV,W25Q16DV,W25Q32FV,W25Q64FV,W25Q128FV,W25Q256FV, W25Q32JVSIQ, W25Q64JVSIQ Yes

Remarks: To boot from serial flashes, it is recommended that customers fully characterize the timing in their applications.



  • Application Example Software

    LPCSPIFI Library v1.01 release (Released: 12/11/2014): Library Updates

  • BSPs and Device Drivers

    Code Examples - LPCOpen 2_12 Keil NGX Xplorer 1830 SPIFI v1.0

  • Software Development Resources

    Code Examples - LPCOpen 2_12 Keil MCB 1857 SPIFI v1.0

Note: For better experience, software downloads are recommended on desktop.


Quick reference to our documentation types.

2 documents


What do you need help with?