Tools for OS X Development

I've been working on setting my Mac up for development with the Nordic nRF51x22. Working on a Mac rules out using the Keil µVision IDE (unless I wanted to use Windows virtualization). Fortunately, there are other options.

Nordic Semiconductor provides some support for more than one toolchain. They provide Keil µVision projects and packs, GCC makefiles and linker scripts, and a startup assembly file for IAR. Since Eclipse CDT can use GCC for its toolchain, there's been a lot of community effort to use Eclipse as an IDE for developing for the nRF51422 and nRF52822 chips. There are several plugins for Eclipse and other tools that make this easier:

Eclipse CDT (C/C++ Development Tooling)

To do any sort of C or C++ development in Eclipse, you'll need to install this either as a plugin in an existing Eclipse installation or you can download a standalone Eclipse CDT install.

GNU ARM Eclipse Plug-ins

This suite of plugins allows you to make managed builds (you don't have to import or maintain makefiles) for ARM development, use a SEGGER J-Link or OpenOCD debugger from within Eclipse, and use Keil software packs.

GNU Tools for ARM Embedded Processors

You'll be cross compiling your source for an ARM processor, not the host processor (Intel). This is the toolchain that the GNU Arm Eclipse Plugin site recommends using. The GNU ARM Eclipse Plug-ins site has instructions for integrating the toolchain with the Eclipse plugins.

SEGGER J-Link Debugger Software

The nRF51-DK has an onboard SEGGER debugger. SEGGER provides a driver and some command-line tools for OS X. The GNU ARM Eclipse Plug-ins integrate with this software.

nrf51osx

This plugin provides a new project template specific to the Nordic nRF51822 chip. Unfortunately, it hasn't been updated for revision C of the silicon or the nRF51-DK (PCB100028). It also uses paths not present in Nordic's latest 7.1.0 SDK. All these can be fixed once you create your project, however.

rknrfgo

There is no nRFGo Studio for OS X. However, this tool by Roland King provides most of the functionality. It also provides an OS X version of nrfjprog. This version has similar, but slightly different, command-line options than the Windows version of nrfjprog.

nrf-ble-sniffer-osx

There are Windows tools for the Nordic sniffer dongle. This is an equivalent OS X tool.

CrossWorks for ARM

This is a commercial IDE for OS X that supports ARM processors and the SEGGER (among others) debugger.

Parents
  • nrfjprog does work with the v7.x softdevice, and has since since last year's August release. However since around that time you have been required to tell it which softdevice you're using using the -S or --softdeviceversion switch as well as the file path to the hex file. The changes in the way the softdevice was packed (no CLENR0) mean it's no-longer possible to deduce the load addresses from the image.

    nrfjprog -h

    gives you current command-line arguments and

    nrfjprog -V

    as well as listing the version, gives you the softdevices versions supported for use with the -S switch.

Comment
  • nrfjprog does work with the v7.x softdevice, and has since since last year's August release. However since around that time you have been required to tell it which softdevice you're using using the -S or --softdeviceversion switch as well as the file path to the hex file. The changes in the way the softdevice was packed (no CLENR0) mean it's no-longer possible to deduce the load addresses from the image.

    nrfjprog -h

    gives you current command-line arguments and

    nrfjprog -V

    as well as listing the version, gives you the softdevices versions supported for use with the -S switch.

Children
No Data