Kuruyia / Pyrus

A firmware for the PineTime
BSD 3-Clause "New" or "Revised" License
9 stars 0 forks source link

Pyrus

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.

What's working

Building

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.

Flashing

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

Acknowledgments