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
  • Peter,

    Couple quick questions (Sorry if they're too basic)

    1. When creating an nRF C project, I have a choice of using the "Cross" or Mac OS X GCC toolchains. Your recommendation?
    2. Have the appropriate Nordic SDKs. (Have been doing Keil MDK development on the nRF51 for some time.) What's your "best practice" in terms of coupling one of them into a project? Just add their path into the project's Include properties?
    3. While I'm on the subject of Nordic SDKs, can you (or anyone else) comment on the differences between the currently recommended version 6.2.1 on the Nordic site for "regular" development, and the 7.x version on Nordic mbed side.
    4. Got a "/bin/sh: arm-none-eabi-gcc: command not found" error on building. OK, need to add the appropriate path to my bin path. What and where? (I know, I could find this out myself, but it would be useful to add it to your synopsis :-)
Comment
  • Peter,

    Couple quick questions (Sorry if they're too basic)

    1. When creating an nRF C project, I have a choice of using the "Cross" or Mac OS X GCC toolchains. Your recommendation?
    2. Have the appropriate Nordic SDKs. (Have been doing Keil MDK development on the nRF51 for some time.) What's your "best practice" in terms of coupling one of them into a project? Just add their path into the project's Include properties?
    3. While I'm on the subject of Nordic SDKs, can you (or anyone else) comment on the differences between the currently recommended version 6.2.1 on the Nordic site for "regular" development, and the 7.x version on Nordic mbed side.
    4. Got a "/bin/sh: arm-none-eabi-gcc: command not found" error on building. OK, need to add the appropriate path to my bin path. What and where? (I know, I could find this out myself, but it would be useful to add it to your synopsis :-)
Children
No Data