Don’t use windows
Follow Microsoft’s instructions to install the Windows Subsystem for Linux. I recommend getting the latest Ubuntu LTS (long-term support) distribution.
Notes
This will install a shell only, graphical applications may not work (but you should get good at using the terminal anyway)
Zephyr only has Ubuntu instructions, you might need to change the package manager or do things a bit more manually for another distribution
Somehow creating a shortcut (alias, environment variable, or symlink) to a convenient spot on Windows from your Linux home directory will make your life a lot easier
Install Zephyr and FSW
We set up FSW as a zephyr project repository. Follow Zephyr’s instructions to install its dependencies, but where the instructions say west init ~/zephyrproject
, instead run west init -m https://github.com/RIT-Launch-Initiative/FSW ~/zephyrproject
(I named it launch-fsw
, but if you do the same you will need to remember to change the name from Zephyr’s guides)
Notes
I named it
launch-fsw
instead ofzephyrproject
becauseFSW
is the “parent” repository and you can’t just add arbitrary project repositories easily, but if you do this you will need to change all of the directory names in Zephyr’s guides
Build code
TODO
Notes
Note
Flash binary
Flashing through Windows
Zephyr will generate several build files in the build
directory. Copy one of them to a location visible to the Windows filesystem, which is accessible from Linux through /mnt/c/...
.
Notes
This is why I recommended making a shortcut
Flashing through Linux
To do this, you need to pass a USB device from Windows to WSL 2 (this does not work with WSL 1, you are stuck with flashing through Windows) and make sure OpenOCD is able to flash to it.
Prerequisites:
usbipd-win
on windows(Reccomended) WSL-USB on windows