Hi all,
This question is kind of a continuation of my research using the nRF5340DK external flash as a XIP. I needed to use mcuboot and discovered this wonderful sample provided on NordicPlayground github: QSPI XIP with internal flash application support
It does exactly what I need, and the setup steps are well documented. So it's time to integrate with my custom applications!
The apps I'm currently developing are inside an ordinary ncs directory, which was setup a while ago. Each app is a subdirectory with a git repository associated to them. I decided then to modify the west.yml file in order to add my repositories as projects. This is the result:
manifest: self: west-commands: scripts/west-commands.yml path: projects remotes: - name: ncs url-base: https://github.com/nrfconnect - name: my_company url-base: [email protected]:my_company projects: - name: nrf remote: ncs repo-path: sdk-nrf revision: v2.5.0 import: true - name: project1 remote: my_company revision: development submodules: true path: projects/project1 - name: project2 remote: my_company revision: development submodules: true path: projects/my_company - name: submodule1 remote: my_company revision: development path: projects/submodule1 - name: submodule2 remote: my_company revision: development path: projects/submodule2
By doing this, I can create a directory and initialize the whole workspace (is a workspace, right?):
$ mkdir my-workspace & cd my-workspace $ west init -m https://repo-url.com $ west update ... $ tree . ├── bootloader ├── modules ├── nrf ├── nrfxlib ├── projects │ ├── project1 │ ├── project2 │ ├── submodule1 │ ├── submodule2 │ ├── smp_svr │ └── zephyr ├── test ├── tools └── zephyr
Everything builds and I can use the custom XIP_SPLIT_IMAGE config entry. But issues happen when I try to use git inside any of my projects due to this:
my-workspace/projects/project1$ git status HEAD detached at refs/heads/manifest-rev nothing to commit, working tree clean my-workspace/projects/project1$ git checkout development error: pathspec 'developmen' did not match any file(s) known to git my-workspace/projects/project1$ git fetch origin fatal: 'origin' does not appear to be a git repository fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
I'm aware that this is the way west tool handles the repositories, but unfortunately is not what I need. I'd like to work on each project/submodule as I do when they are on ncs directory. I guess something similar to what happens with the nrf directory, which we can checkout to different tags/commits and then run west update on ncs
What would be the best approach for my needs? The simpler one (just copying KConfig, and modules folder on my ncs or project directory) didn't work well, since the symbol XIP_SPLIT_IMAGE is not recognized
Many thanks in advance, and happy holidays!
Leandro