West topology for multiple projects

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?

Related