Small Bit of Toast, being a fork of the microbit-v2-samples repository from Lancaster University was a Linux focused tool, which is great until you remember that most of the word is still using Windows (other than all the enterprise infrastructure etc.,) This forces the user to try and deal what is usually a mess that is Windows Subsystem for Linux (WSL), and so instead changes have been made to give users insight onto how they can create Micro:bit projects on windows natively.
Start by cloning the Windows based repository
git clone https://github.com/AustinATTS/small-bit-of-toast-windows
This replaces the original build.sh script with a PowerShell equivalent (build.ps1), however the overall structure remains compatible with CODAL and the original Micro:bit build process.
The easiest way to install the required dependencies is by using a Windows package manager like Scoop. To do this run the following commands in PowerShell.
Set-ExecutionPolicy -ExecutionPolicy Remote signed _Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
Once scoop is installed you can install everything that the system relies on.
scoop install git
scoop bucket add extras
scoop install gcc-arm-none-eabi cmake python ninja
Scoop will automatically handle both the installation and the PATH configuration so you shouldn't have to deal with the Windows environment variables.
To then actually build your project you use the build.ps1 script which is the Windows-native alternative to the original bash script, however the behaviour is identical: it cleans the source directory, copies your program files, runs the build process, and gives you the hex file.
From any project folder containing your .cpp files, run:
..\build.ps1
This builds all the files in the current directory and outputs:
<folder-name>.hex
To build specific files:
..\build.ps1 main.cpp helpers.h helpers.cpp
This produces:
main.hex
You can also use the same method to build a hex file from any location as with the Linux version, a separate post will be made later to detail how to make the changes with PowerShell's syntax.