@@ -20,8 +20,8 @@ This README describes configuration of supported targets.
2020* [ Nordic nRF54L15] ( #nordic-nrf54l15 )
2121* [ NXP iMX-RT] ( #nxp-imx-rt )
2222* [ NXP Kinetis] ( #nxp-kinetis )
23- * [ NXP LPC54xxx ] ( #nxp-lpc54xxx )
24- * [ NXP LPC54S018M ] ( #nxp-lpc54s018m )
23+ * [ NXP LPC546xx ] ( #nxp-lpc546xx )
24+ * [ NXP LPC540xx / LPC54S0xx (SPIFI boot) ] ( #nxp-lpc540xx--lpc54s0xx-spifi-boot )
2525* [ NXP LPC55S69] ( #nxp-lpc55s69 )
2626* [ NXP LS1028A] ( #nxp-ls1028a )
2727* [ NXP MCXA153] ( #nxp-mcxa153 )
@@ -1897,11 +1897,17 @@ c
18971897```
18981898
18991899
1900- ## NXP LPC54xxx
1900+ ## NXP LPC546xx
1901+
1902+ This covers the LPC546xx series (Cortex-M4F with internal NOR flash), using the
1903+ NXP MCUXpresso SDK. Tested on LPC54606J512.
1904+
1905+ For the LPC540xx / LPC54S0xx SPIFI-boot series (no internal flash), see the
1906+ [ next section] ( #nxp-lpc540xx--lpc54s0xx-spifi-boot ) .
19011907
19021908### Build Options
19031909
1904- The LPC54xxx build can be obtained by specifying the CPU type and the MCUXpresso SDK path at compile time.
1910+ The build can be obtained by specifying the CPU type and the MCUXpresso SDK path at compile time.
19051911
19061912The following configuration has been tested against LPC54606J512BD208:
19071913
@@ -1938,15 +1944,22 @@ arm-none-eabi-gdb wolfboot.elf -ex "target remote localhost:3333"
19381944```
19391945
19401946
1941- ## NXP LPC54S018M
1947+ ## NXP LPC540xx / LPC54S0xx (SPIFI boot)
19421948
1943- The NXP LPC54S018M is a Cortex-M4 microcontroller running at 180MHz. Unlike the
1944- LPC54606 which has internal flash, the LPC54S018M has ** no internal NOR flash** —
1945- all code executes from on-package SPIFI-mapped QSPI flash (Winbond W25Q32JV, 4MB)
1946- at address ` 0x10000000 ` .
1949+ This section covers the LPC540xx and LPC54S0xx family (LPC54005, LPC54016,
1950+ LPC54018, LPC54S005, LPC54S016, LPC54S018, and the "M" in-package-flash
1951+ variants LPC54018M / LPC54S018M). These are Cortex-M4F parts at 180 MHz with
1952+ ** no internal NOR flash** — all code executes from SPIFI-mapped QSPI flash at
1953+ address ` 0x10000000 ` . The boot ROM loads the image from SPIFI via an
1954+ "enhanced boot block" descriptor embedded in the vector table area.
19471955
1948- This has been tested on the LPC54S018M-EVK board, which includes an on-board
1949- Link2 debug probe (CMSIS-DAP / J-Link compatible) and a VCOM UART via Flexcomm0.
1956+ The wolfBoot HAL (` hal/nxp_lpc54s018m.c ` ) is bare-metal (no NXP SDK
1957+ dependency) and targets this whole SPIFI-boot subseries. It has been
1958+ verified on the LPC54S018M-EVK, which uses an on-package Winbond W25Q32JV
1959+ (4MB) and provides an on-board Link2 debug probe (CMSIS-DAP / J-Link) with
1960+ a VCOM UART on Flexcomm0. Other members of the family should work after
1961+ adjusting the SPIFI device configuration words to match the attached QSPI
1962+ part and sector size.
19501963
19511964Because flash erase/write operations disable XIP (execute-in-place), all flash
19521965programming functions must run from RAM. The configuration uses ` RAM_CODE=1 ` to
@@ -2096,7 +2109,21 @@ either message means the binary is not bootable on this chip.
20962109
20972110### LPC54S018M: Testing firmware update
20982111
2099- A convenience script automates the full build, sign, and flash process:
2112+ The helper script [ ` tools/scripts/nxp-lpc54s018m-flash.sh ` ] ( ../tools/scripts/nxp-lpc54s018m-flash.sh )
2113+ automates the full ** build → sign → flash** cycle for the LPC54S018M-EVK:
2114+
2115+ 1 . Copies ` config/examples/nxp_lpc54s018m.config ` to ` .config `
2116+ 2 . Runs ` make ` to produce ` factory.bin ` (wolfBoot + signed v1 test-app)
2117+ 3 . Parses the active ` .config ` to resolve partition and trailer addresses
2118+ 4 . Erases the BOOT and UPDATE partition trailer sectors (clean boot state)
2119+ 5 . Flashes ` factory.bin ` to SPIFI at ` 0x10000000 ` via ` pyocd `
2120+ 6 . Optionally signs a v2 test-app and flashes it to the update partition
2121+ to exercise the swap-and-confirm update flow
2122+
2123+ It drives [ pyocd] ( https://pyocd.io/ ) with CMSIS-DAP firmware on the on-board
2124+ Link2 probe. Override ` CONFIG_FILE ` , ` PYOCD_TARGET ` , or ` CROSS_COMPILE ` via
2125+ environment variables to adapt the script to other LPC540xx/LPC54S0xx
2126+ boards. Run with ` --help ` for the full option list.
21002127
21012128``` sh
21022129# Build and flash v1 only
0 commit comments