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.

OSSW.jpg

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 in the ../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 ossw-firmware-s120 folder, and type $ make.

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...

Comments

1. On Wednesday 1 November 2017, 20:17 by aiphee

Hi, did you made some other interesting changes to the FW? I just wonder if i should try it. Thanks.

They posted on the same topic

Trackback URL : http://blog.rona.fr/trackback/11

This post's comments feed