Building the OSSW firmware with GCC
Few months ago, I got a Weloop Tommy smart-watch from work. I played with it a little bit, but quickly put it aside, until someone recently reminded me about this open source firmware called OSSW (the corresponding Hackaday.io project page can be found here). I thought it would be a great sandbox to start playing with the watch, but building the FW was only possible using Keil and Windows...
For this reason, I set up a fork on my Github account that has been adapted to build on Linux (or Cygwin) using GCC. It can be found here.
In order to build OSSW, you will need:
- the nRF51 SDK from Nordic version 9.0.0 that can be found here
- the nrfutil python tool version 0.5.2 from here
- the Gnu GCC toolchain for ARM Cortex-M0 that can be downloaded here, or here for releases < 2016.
I recommend to use the 4_9-2014q4 version since this was the one that produced the smallest code during my tests. I would have preferred the 6-2017-q1-update version, but the resulting code was too big for the watch...
The Makefile expects to find the toolchain
../toolchain folder, and the SDK in the
../nRF-SDK folder, so I suggest to create the following tree:
OSSW |____toolchain | |____nRF-SDK | |____ossw-firmware-s120
To build the firmware, just go in the
folder, and type
It looks like the resulting firmware is working exactly like the original branch (I forked Vaspa's branch), even if I had to fix some minor issues. My plan is now to use that repository to add my own modifications to OSSW. To be continued...