How do I download the bare metal SDK without Zephyr/VSCode addon?
Looks like we are moving backwards when manufacturers forced our hands to use specific tools.
How do I download the bare metal SDK without Zephyr/VSCode addon?
Looks like we are moving backwards when manufacturers forced our hands to use specific tools.
Thank you I understand, please update the ticket when something changes.
Meanwhile, we are evaluating ST's BLE which still supports standard C.
The nRF54Lxx is supported by many environments using NordicSemiconductor's MDK. If you download the "CMake, 5-clause Nordic license" variant from https://www.nordicsemi.com/Products/Development-tools/nRF-MDK/Download, you will get all the files needed for a "bare metal" installation. It contains register definition files, startup code, default interrupt handlers and the vector table, linker scripts etc. for various toolchains (IAR, GCC, Keil µVision and Segger Embedded Studio). The CMake sample will build a "hello world" project. For some reason, the MDK at the download page does not contain the files for nRF54 though, but they are available here: https://github.com/NordicSemiconductor/nrfx/tree/master/bsp/stable/mdk. You can just add those files to the unzipped MDK, then create a new e.g. cmake target using the same approach as for the other SoCs.
I myself use this approach with CLion (the GCC variant) and it works perfectly.
That looks nice, but it only seems to contain the base functionalities to get to main( ), none of the BLE or higher functionalities.
That is correct. Bare metal is exactly that ;)
Other functionalities must be added separately.
Agree with the conclusions in this thread. Nordic’s own reply basically says: nrf-bm is a stepping stone toward NCS and it still depends on West/Kconfig/Zephyr build plumbing. So if the goal is “self-contained CMSIS/MDK-style project” or “use any compiler/toolchain with a flat folder + macros,” nrf-bm isn’t that today.
The MDK + nrfx approach Emil mentioned is the closest to “pure bare metal,” but as noted it’s just startup + registers + drivers — you don’t get BLE or higher layers for free.
Disclosure: I’m the author of IOcomposer/IOsonata.
I’m working on a different workflow: keep the Nordic vendor layer underneath for nRF54, but make the *application* workflow MCU-centric and C/C++ configured (no Devicetree/Kconfig as the primary config model). IOcomposer generates the project, sets up build + debug, and the optional AI can scaffold a full project (including BLE) with patch-style edits grounded in the actual installed headers.
Demo (unedited): prompt → complete nRF54L15 BLE project → builds → launches debugger:
https://youtu.be/LR2vYtMeC8A
Try/install: https://iocomposer.io
If you test it, even a short reply helps:
- Host OS
- Board / chip
- What you tried
- First error line + snippet (if it fails)