Hello!
I'm tinkering with the NCS libraries, and I'm really liking the way this is turning out coming from the nRF5 SDK! My question is what is the best practice for creating a customized mcuboot build? My current setup is on Linux using primarily command line and CLion for development (SDK v1.4.2). My current configuration is following the getting started guide, where "my_project" is a git repo with my app:
. ├── bootloader ├── my_project ├── mbedtls ├── modules ├── nrf ├── nrfxlib ├── smp_svr ├── test ├── tools └── zephyr
And the app repo has the following structure, which has room for a bootloader to be in the same repo if possible:
. ├── app │ ├── CMakeLists.txt │ ├── docker-compose.yml │ ├── Dockerfile │ ├── overlay-bt.conf │ ├── overlay-bt-tiny.conf │ ├── overlay-cdc.conf │ ├── overlay-fs.conf │ ├── overlay-serial.conf │ ├── overlay-serial-console.conf │ ├── overlay-shell.conf │ ├── overlay-shell-mgmt.conf │ ├── overlay-udp.conf │ ├── prj.conf │ ├── README.rst │ ├── sample.yaml │ └── src │ ├── bluetooth.c │ ├── common.h │ ├── main.c │ └── udp.c ├── CMakeLists.txt └── west.yml
As a bonus question, is it necessary to leave my project as a subfolder of the NCS tools folder? I tried locating my repo in a different development folder and defining ZEPHYR_BASE, ZEPHYR_TOOLCHAIN_VARIANT, and GNUARMEMB_TOOLCHAIN_PATH, but the build system seems super finicky when I do that. It seems to work if I build e.g. the SMP sample from inside the NCS folder, then build from my app folder; but if I just go straight to building my app, zephyr will complain about the SDK not being installed. Super weird.
Thanks in advance!