I'm working on setting up a West Workspace to manage projects for two different MCU vendors: Nordic Semiconductor (nRF series) and STMicroelectronics (STM32 series), since Zephyr supports both. My goal is to have a single, unified environment for handling all my applications, as well as a West file hosted on Bitbucket.
Initially, I set up a Forest topology, as described here, where the west.yml in manifest-repo manages everything: docs.nordicsemi.com/.../repo-tool.html.
I planned to use Zephyr for the STM32 and the SDK-NRF, which use the same Zephyr.
Here is my west.yml
manifest:
remotes:
- name: zephyrproject-rtos
url-base: https://github.com/zephyrproject-rtos
- name: mcu-tools
url-base: https://github.com/mcu-tools
- name: nrf-git
url-base: https://github.com/nrfconnect
projects:
- name: zephyr
remote: zephyrproject-rtos
revision: v4.2.1
import:
name-allowlist:
- cmsis_6
- hal_nordic
- hal_stm32
- mcumgr
- mbedtls
- name: mcuboot
remote: mcu-tools
revision: v2.2.0
path: modules/mcuboot
- name: sdk-nrf
remote: nrf-git
revision: v3.1.0
path: nrf
self:
path: manifest-repo
west-commands: nrf/west-commands.yml
Unfortunately, when I try to build in VSCode using my main west repository, it fails. However, it successfully builds when I set the West repository to my West.yml file in my NRF folder.
Am I using the right approach? Is there an easier or cleaner way to manage multiple projects from different vendors using the same Zephyr?