Pyrus is yet another PineTime firmware whose goal is to run bare metal, without any kind of RTOS.
This project is based on JF002's nrf52-baseproject, which is a base to get CMake to work with the nRF52 MCU and SDK.
You should follow the instructions of the nrf52-baseproject to get a build environment ready to compile Pyrus.
This project is currently being compiled using gcc-arm-none-eabi-10-2020-q4-major and the nRF5 SDK 17.0.2.
Once your environment is ready, you just have to run the following commands to compile this firmware:
git clone https://github.com/Arc13/Pyrus.git
cd Pyrus
mkdir build && cd build
cmake -DARM_NONE_EABI_TOOLCHAIN_PATH=[...] -DNRF5_SDK_PATH=[...] -DNRFJPROG=[...] ..
If you haven't already, you need to flash the SoftDevice only once:
cmake --build . --target FLASH_SOFTDEVICE
To compile the firmware, you can run this command:
cmake --build . --target Pyrus-fw
You will then have the generated firmware image available under the src/
directory.
If your PineTime is directly connected to your machine (via, for instance, the nRF52-DK integrated SEGGER JLink debugger/programmer), you can flash this image to the smartwatch with the following command:
nrfjprog --program Pyrus-fw.hex --sectorerase