Steps for setting up the repository

These instructions are valid for a x64 Linux system with a Debian based environment.
First you need to setup the working environment and the repositories for editing and compiling the Firmware files.

Steps for compiling code and generating the hex files

Documentation with Doxygen

We use Doxygen for all our documentation. You can install Doxygen using:

   sudo apt-get install doxygen

Using a Debugger/Programmer

This repository supports two debuggers/programmers, namely Black Magic Probe (BMP) and Segger JLink.

For utilizing BMP

For getting started with the Black Magic Probe follow this guide.
On some Linux installations you may get permissions errors.

  /dev/ttyACM0: Permission denied

This can be fixed by adding your user to the dialout group as follows (you may need to log out and back in for this to take effect):

  $ sudo adduser <username> dialout

Then, as mentioned here create a file named /etc/udev/rules.d/99-blackmagic.rules with the following contents:

  # Black Magic Probe
  # there are two connections, one for GDB and one for uart debugging
  SUBSYSTEM=="tty", ATTRS{interface}=="Black Magic GDB Server", SYMLINK+="ttyBmpGdb"
  SUBSYSTEM=="tty", ATTRS{interface}=="Black Magic UART Port", SYMLINK+="ttyBmpTarg"

Then unplug / replug the probe, or restart the computer.

For utilizing Segger JLink

Using the proprietary nRF5x SDK

Get the components part of nRF5x SDK. Its not in the repository as it does not have an open license.

Installing nrfutil

nrfutil is a Python package and command-line utility that supports Device Firmware Updates (DFU) and cryptographic functionality.
Follow these instructions to install this utility.

Setting up IDE

IDE(Integrated Development Environment) is useful for fast development of project. User can setup any IDE for project development.
User can also choose not to use any IDE at all. Two major IDEs which are used widely are:

It is advised to use the versions which comes with C/C++ plugins by default.
Follow the instructions given in following link to setup your IDE

NOTE : Use IDE only for development of application. While compiling and uploading of program use "make " utilities in terminal.