Skip to content

CMake: CMake build implemented for NXP LPC43xx#18546

Merged
linguini1 merged 2 commits intoapache:masterfrom
simbit18:simbit18-lpc43xx
Mar 16, 2026
Merged

CMake: CMake build implemented for NXP LPC43xx#18546
linguini1 merged 2 commits intoapache:masterfrom
simbit18:simbit18-lpc43xx

Conversation

@simbit18
Copy link
Contributor

Summary

  • added NXP LPC43xx

  • CMake added NXP LPC43xx boards:

    • bambino-200e
    • lpc4330-xplorer
    • lpc4337-ws
    • lpc4357-evb
    • lpc4370-link2

Impact

Impact on user: This PR adds NXP LPC17xx/40xx boards with CMake build
- bambino-200e
- lpc4330-xplorer
- lpc4337-ws
- lpc4357-evb
- lpc4370-link2

Impact on build: This PR Implement CMake build for the NXP LPC43xx

Impact on hardware: NO

Impact on documentation: NO

Impact on security: NO

Impact on compatibility: NO

Testing

bambino-200e:nsh
D:\nuttxtmp\nuttx>cmake -B build -DBOARD_CONFIG=bambino-200e:nsh -GNinja
-- Found Python3: C:/Users/bit/AppData/Local/Programs/Python/Python313/python.exe (found version "3.13.3") found components: Interpreter
-- nuttx_add_subdirectory: Skipping cxx-oot-build
-- Initializing NuttX
Loaded configuration 'D:/nuttxtmp/nuttx/build/.config.compressed'
Minimal configuration saved to 'D:/nuttxtmp/nuttx/build/defconfig.tmp'
--   ENV{PROCESSOR_ARCHITECTURE} = AMD64
  Select HOST_WINDOWS=y
  Select WINDOWS_NATIVE=y
--   CMake:  3.31.5
--   Ninja:  1.12.1
--   Board:  bambino-200e
--   Config: nsh
--   Appdir: D:/nuttxtmp/apps
-- Building for: Ninja
-- The C compiler identification is GNU 14.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/mingw/mingw64/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- NuttX Host Tools
-- CMake C compiler: GNU
-- CMake system name: Windows
-- CMake host system processor: AMD64
   TOOLS_DIR path is "D:/nuttxtmp/nuttx"
   HOST = WINDOWS NATIVE
-- Configuring done (1.3s)
-- Generating done (0.0s)
-- Build files have been written to: D:/nuttxtmp/nuttx/build/bin_host
-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- The ASM compiler identification is GNU
-- Found assembler: D:/nx20250410/tools/gcc-arm-none-eabi/bin/arm-none-eabi-gcc.exe
-- nuttx_add_subdirectory: Skipping cxx-oot-build
-- Configuring done (17.4s)
-- Generating done (2.7s)
-- Build files have been written to: D:/nuttxtmp/nuttx/build

D:\nuttxtmp\nuttx>cmake --build build
[28/1148] Building C object arch/CMakeFiles/arch.dir/arm/src/lpc43xx/lpc43_allocateheap.c.o
D:/nuttxtmp/nuttx/arch/arm/src/lpc43xx/lpc43_allocateheap.c:244:2: warning: #warning "Missing Logic" [-Wcpp]
  244 | #warning "Missing Logic"
      |  ^~~~~~~
[1147/1148] Linking C executable nuttx
Memory region         Used Size  Region Size  %age Used
         progmem:      178952 B         1 MB     17.07%
         datamem:        9584 B       128 KB      7.31%
[1148/1148] Generating nuttx.bin
lpc4330-xplorer:nsh

D:\nuttxtmp\nuttx>cmake -B build -DBOARD_CONFIG=lpc4330-xplorer:nsh -GNinja
-- Found Python3: C:/Users/bit/AppData/Local/Programs/Python/Python313/python.exe (found version "3.13.3") found components: Interpreter
-- nuttx_add_subdirectory: Skipping cxx-oot-build
-- Initializing NuttX
Loaded configuration 'D:/nuttxtmp/nuttx/build/.config.compressed'
Minimal configuration saved to 'D:/nuttxtmp/nuttx/build/defconfig.tmp'
--   ENV{PROCESSOR_ARCHITECTURE} = AMD64
  Select HOST_WINDOWS=y
  Select WINDOWS_NATIVE=y
--   CMake:  3.31.5
--   Ninja:  1.12.1
--   Board:  lpc4330-xplorer
--   Config: nsh
--   Appdir: D:/nuttxtmp/apps
-- Building for: Ninja
-- The C compiler identification is GNU 14.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/mingw/mingw64/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- NuttX Host Tools
-- CMake C compiler: GNU
-- CMake system name: Windows
-- CMake host system processor: AMD64
   TOOLS_DIR path is "D:/nuttxtmp/nuttx"
   HOST = WINDOWS NATIVE
-- Configuring done (1.3s)
-- Generating done (0.1s)
-- Build files have been written to: D:/nuttxtmp/nuttx/build/bin_host
-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- The ASM compiler identification is GNU
-- Found assembler: D:/nx20250410/tools/gcc-arm-none-eabi/bin/arm-none-eabi-gcc.exe
-- nuttx_add_subdirectory: Skipping cxx-oot-build
-- Configuring done (15.7s)
-- Generating done (2.7s)
-- Build files have been written to: D:/nuttxtmp/nuttx/build

D:\nuttxtmp\nuttx>cmake --build build
[24/1120] Building C object arch/CMakeFiles/arch.dir/arm/src/lpc43xx/lpc43_allocateheap.c.o
D:/nuttxtmp/nuttx/arch/arm/src/lpc43xx/lpc43_allocateheap.c:244:2: warning: #warning "Missing Logic" [-Wcpp]
  244 | #warning "Missing Logic"
      |  ^~~~~~~
[1119/1120] Linking C executable nuttx
Memory region         Used Size  Region Size  %age Used
         progmem:       79292 B       128 KB     60.49%
         datamem:        5368 B        72 KB      7.28%
[1120/1120] Generating nuttx.bin
lpc4337-ws:nsh

D:\nuttxtmp\nuttx>cmake -B build -DBOARD_CONFIG=lpc4337-ws:nsh -GNinja
-- Found Python3: C:/Users/bit/AppData/Local/Programs/Python/Python313/python.exe (found version "3.13.3") found components: Interpreter
-- nuttx_add_subdirectory: Skipping cxx-oot-build
-- Initializing NuttX
Loaded configuration 'D:/nuttxtmp/nuttx/build/.config.compressed'
Minimal configuration saved to 'D:/nuttxtmp/nuttx/build/defconfig.tmp'
--   ENV{PROCESSOR_ARCHITECTURE} = AMD64
  Select HOST_WINDOWS=y
  Select WINDOWS_NATIVE=y
--   CMake:  3.31.5
--   Ninja:  1.12.1
--   Board:  lpc4337-ws
--   Config: nsh
--   Appdir: D:/nuttxtmp/apps
-- Building for: Ninja
-- The C compiler identification is GNU 14.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/mingw/mingw64/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- NuttX Host Tools
-- CMake C compiler: GNU
-- CMake system name: Windows
-- CMake host system processor: AMD64
   TOOLS_DIR path is "D:/nuttxtmp/nuttx"
   HOST = WINDOWS NATIVE
-- Configuring done (0.8s)
-- Generating done (0.0s)
-- Build files have been written to: D:/nuttxtmp/nuttx/build/bin_host
-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- The ASM compiler identification is GNU
-- Found assembler: D:/nx20250410/tools/gcc-arm-none-eabi/bin/arm-none-eabi-gcc.exe
-- nuttx_add_subdirectory: Skipping cxx-oot-build
-- Configuring done (13.6s)
-- Generating done (2.6s)
-- Build files have been written to: D:/nuttxtmp/nuttx/build

D:\nuttxtmp\nuttx>cmake --build build
[23/1164] Building C object arch/CMakeFiles/arch.dir/arm/src/lpc43xx/lpc43_allocateheap.c.o
D:/nuttxtmp/nuttx/arch/arm/src/lpc43xx/lpc43_allocateheap.c:244:2: warning: #warning "Missing Logic" [-Wcpp]
  244 | #warning "Missing Logic"
      |  ^~~~~~~
[1163/1164] Linking C executable nuttx
Memory region         Used Size  Region Size  %age Used
         progmem:      105864 B       512 KB     20.19%
         datamem:        9584 B        32 KB     29.25%
[1164/1164] Generating nuttx.bin

lpc4357-evb:nsh

D:\nuttxtmp\nuttx>cmake -B build -DBOARD_CONFIG=lpc4357-evb:nsh -GNinja
-- Found Python3: C:/Users/bit/AppData/Local/Programs/Python/Python313/python.exe (found version "3.13.3") found components: Interpreter
-- nuttx_add_subdirectory: Skipping cxx-oot-build
-- Initializing NuttX
Loaded configuration 'D:/nuttxtmp/nuttx/build/.config.compressed'
Minimal configuration saved to 'D:/nuttxtmp/nuttx/build/defconfig.tmp'
--   ENV{PROCESSOR_ARCHITECTURE} = AMD64
  Select HOST_WINDOWS=y
  Select WINDOWS_NATIVE=y
--   CMake:  3.31.5
--   Ninja:  1.12.1
--   Board:  lpc4357-evb
--   Config: nsh
--   Appdir: D:/nuttxtmp/apps
-- Building for: Ninja
-- The C compiler identification is GNU 14.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/mingw/mingw64/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- NuttX Host Tools
-- CMake C compiler: GNU
-- CMake system name: Windows
   TOOLS_DIR path is "D:/nuttxtmp/nuttx"-- CMake host system processor: AMD64

   HOST = WINDOWS NATIVE
-- Configuring done (1.4s)
-- Generating done (0.1s)
-- Build files have been written to: D:/nuttxtmp/nuttx/build/bin_host
-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- The ASM compiler identification is GNU
-- Found assembler: D:/nx20250410/tools/gcc-arm-none-eabi/bin/arm-none-eabi-gcc.exe
-- nuttx_add_subdirectory: Skipping cxx-oot-build
-- Configuring done (16.5s)
-- Generating done (3.1s)
-- Build files have been written to: D:/nuttxtmp/nuttx/build

D:\nuttxtmp\nuttx>cmake --build build
[23/1120] Building C object arch/CMakeFiles/arch.dir/arm/src/lpc43xx/lpc43_allocateheap.c.o
D:/nuttxtmp/nuttx/arch/arm/src/lpc43xx/lpc43_allocateheap.c:244:2: warning: #warning "Missing Logic" [-Wcpp]
  244 | #warning "Missing Logic"
      |  ^~~~~~~
[1119/1120] Linking C executable nuttx
Memory region         Used Size  Region Size  %age Used
         progmem:       79168 B       256 KB     30.20%
         datamem:        5364 B        72 KB      7.28%
[1120/1120] Generating nuttx.bin
lpc4370-link2:nsh

D:\nuttxtmp\nuttx>cmake -B build -DBOARD_CONFIG=lpc4370-link2:nsh -GNinja
-- Found Python3: C:/Users/bit/AppData/Local/Programs/Python/Python313/python.exe (found version "3.13.3") found components: Interpreter
-- nuttx_add_subdirectory: Skipping cxx-oot-build
-- Initializing NuttX
Loaded configuration 'D:/nuttxtmp/nuttx/build/.config.compressed'
Minimal configuration saved to 'D:/nuttxtmp/nuttx/build/defconfig.tmp'
--   ENV{PROCESSOR_ARCHITECTURE} = AMD64
  Select HOST_WINDOWS=y
  Select WINDOWS_NATIVE=y
--   CMake:  3.31.5
--   Ninja:  1.12.1
--   Board:  lpc4370-link2
--   Config: nsh
--   Appdir: D:/nuttxtmp/apps
-- Building for: Ninja
-- The C compiler identification is GNU 14.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/mingw/mingw64/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- NuttX Host Tools
-- CMake C compiler: GNU
-- CMake system name: Windows
-- CMake host system processor: AMD64
   TOOLS_DIR path is "D:/nuttxtmp/nuttx"
   HOST = WINDOWS NATIVE
-- Configuring done (1.4s)
-- Generating done (0.1s)
-- Build files have been written to: D:/nuttxtmp/nuttx/build/bin_host
-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- The ASM compiler identification is GNU
-- Found assembler: D:/nx20250410/tools/gcc-arm-none-eabi/bin/arm-none-eabi-gcc.exe
-- nuttx_add_subdirectory: Skipping cxx-oot-build
-- Configuring done (16.5s)
-- Generating done (2.8s)
-- Build files have been written to: D:/nuttxtmp/nuttx/build

D:\nuttxtmp\nuttx>cmake --build build
[23/1161] Building C object arch/CMakeFiles/arch.dir/arm/src/lpc43xx/lpc43_allocateheap.c.o
D:/nuttxtmp/nuttx/arch/arm/src/lpc43xx/lpc43_allocateheap.c:244:2: warning: #warning "Missing Logic" [-Wcpp]
  244 | #warning "Missing Logic"
      |  ^~~~~~~
[1160/1161] Linking C executable nuttx
Memory region         Used Size  Region Size  %age Used
         progmem:      102864 B         1 MB      9.81%
         datamem:        9580 B       128 KB      7.31%
[1161/1161] Generating nuttx.bin

- added NXP LPC43xx

Signed-off-by: simbit18 <simbit18@gmail.com>
CMake added boards:

 - bambino-200e
 - lpc4330-xplorer
 - lpc4337-ws
 - lpc4357-evb
 - lpc4370-link2

Signed-off-by: simbit18 <simbit18@gmail.com>
@github-actions github-actions bot added Arch: arm Issues related to ARM (32-bit) architecture Size: L The size of the change in this PR is large Board: arm labels Mar 16, 2026
@linguini1 linguini1 merged commit d6a5d71 into apache:master Mar 16, 2026
26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Arch: arm Issues related to ARM (32-bit) architecture Board: arm Size: L The size of the change in this PR is large

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants