Why do I have less than 256kB of RAM and 1.5MB of flash memory when building apps with nRF Connect SDK for the BL54L15?

Answer

When building for the BL54L15 (or nRF54L15 in general) with the nRF Connect SDK you see less RAM and flash than what should be physically available:

[270/270] Linking C executable zephyr/zephyr.elf
Memory region Used Size Region Size %age Used
FLASH: 56 KB 1428 KB 3.92%
RAM: 15272 B 188 KB 7.93%
IDT_LIST: 0 GB 32 KB 0.00%

This is because part of the RAM is being reserved for the RISC-V FLPR core. You can make use of this "missing" RAM by adding this to a local board .overlay file:

/* Restore full RRAM and SRAM space - by default some parts are dedicated to FLPR */

&cpuapp_rram {
reg = <0x0 DT_SIZE_K(1524)>;
};

&cpuapp_sram {
reg = <0x20000000 DT_SIZE_K(256)>;
ranges = <0x0 0x20000000 0x40000>;
};

Now the build shows the full RAM/flash being available for the application:

[356/356] Linking C executable zephyr/zephyr.elf
Memory region Used Size Region Size %age Used
FLASH: 372392 B 1516 KB 23.99%
RAM: 216690 B 256 KB 82.66%
IDT_LIST: 0 GB 32 KB 0.00%