Hello!
Prereq: I have nRF Connect 2.5.1 via the Desktop app installed, since I’ve tried using nRF/Zephyr earlier for another nRF52-based platform.
Trying now to get started with the Feather, but i’m bumping into a bunch of problems.
I have many years of experience in embedded Cortex-M3 environments using gnu-arm-none-aebi / JLink, so I have a good understanding of how embedded development in general works.
A)
“Init repo” fails:
Executing task: west init -m https://github.com/circuitdojo/nrf9160-feather-examples-and-drivers.git --mf west.yml --mr v2.4.x
FATAL ERROR: already initialized in /opt/nordic/ncs/v2.5.1, aborting.
Note:
In your environment, ZEPHYR_BASE is set to:
/opt/nordic/ncs/v2.5.1
This forces west to search for a workspace there.
Try unsetting ZEPHYR_BASE and re-running this command.
The terminal process "/bin/bash '-l', '-c', 'west init -m https://github.com/circuitdojo/nrf9160-feather-examples-and-drivers.git --mf west.yml --mr v2.4.x'" terminated with exit code: 1.
then after updating a bunch of modules:
Executing task: pip install -r zephyr/scripts/requirements.txt
ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'zephyr/scripts/requirements.txt'
B)
So I tried the “nRF Connect SDK for VS Code”, where I managed to build the blinky example.
Placed the Feather into bootloader mode (MODE + RST - MODE), then:
newtmgr -c serial image upload build/zephyr/app_update.bin
didn’t work, of course, so:
newtmgr conn add serial type=serial connstring=/dev/tty.SLAB_USBtoUART
Then tried again, and nothing. I tried power cycling the device, i.e. did not place it in DFU mode, but same result. “Error: NMP timeout”.
My first goal is to 1) build a hello world app, and 2) upload it to the hardware, and (later) 3) use my BMP for debugging.
In general, I’d much prefer to use the official “nRF Connect for VSCode” extension, so I always get the latest official code, but the documentation only refers to the “Circuit Dojo Feather for VSCode” extension, which
- download its own apps and
- sets up its own opaque environment.
It is not obvious how to integrate this with the normal nRF way of doing projects w/ workspaces. I’m a newbie to the nRF/West style of doing things, but unfortunately, the Circuit Dojo extension only confuses me even more 🙁