The nRF51822 by Nordic Semiconductor us a multiprotocol SoC with a 2.4Ghz transceiver that is ideal for any Bluetooth Low Energy (Bluetooth Smart) application. The toolchain and documentation provided by Nordic is very much Windows centered. There are some tutorials that provide some hints for Linux (e.g., , ,  )
As I use Mac OS X as my main developing platform, I have setup the Nordic
toolchain there. In the following I describe some of the necessary steps.
Currently I am using VIM as editor together with GDB (GNU Project Debugger) and
SEGGER J-Link that runs a local JLinkGDBServer. This setup works with the s110
Softdevice v7.1.0 (s110_nrf51822_7.1.0_softdevice) and with SDKv6.1.0.
The GCC setup is based on the great work in .
startdebug target requires iTerm as terminal.
- Install Homebrew: http://brew.sh
Install Command Line Tools for Xcode:
Install GNU ARM Embedded Toolchain 4.9:
brew install gcc-arm-none-eabi-49
Download Nordic SDK v6.1.0 and extract it at location of choice.
Download Nordic Softdevice v7.1.0 and put at location of choice.
Download Segger J-Link Software and install the .DMG
Clone my slightly modified nrf51-pure-gcc-setup repo (based on ):
git clone https://github.com/jf87/nrf51-pure-gcc-setup
iTermExecute.shin PATH (e.g., place in
Build and flash the sample iBeacon application:
Copy the pure-gcc folder from
examples/s110/ble_app_beaconnext to the other folders in the example iBeacon application by Nordic in the downloaded SDK (
Edit the pure-gcc makefile and change
TENPLATE_PATHaccording to their location.
Flash the softdevice if needed.
Build and flash the iBeacon application:
The application can be debugged when running
CFLAGS -0s -g, which is done when running make with debug target (
The JLinkGDBServer and GDB is then started in two new iTerm tabs with
 https://devzone.nordicsemi.com/tutorials/7/development-with-gcc-and-eclipse/  https://devzone.nordicsemi.com/blogs/18/development-with-eclipse-and-gcc/  https://github.com/hlnd/nrf51-pure-gcc-setup