Appiko
|
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.
Install srecord using:
sudo apt-get install srecord
Srecord's "srec_cat" command is used to merge hex files before flashing to the target device.
We use Doxygen for all our documentation. You can install Doxygen using:
sudo apt-get install doxygen
This repository supports two debuggers/programmers, namely Black Magic Probe (BMP) and Segger JLink.
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.
Get the components part of nRF5x SDK. Its not in the repository as it does not have an open license.
INCLUDEDIRS
, C_SRC_DIRS
and C_SRC
to the appropriate files and folders in the SDK.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.
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.