Documentation and Resources for Eclipse Development

You have your choice of development tools for working with the Nordic nRF51x22 chips. If you want to use Eclipse + GCC for development, there are some app-notes and blog posts to help you on the way.

nAN-29 Development with GCC and Eclipse

This application note contains instructions from Nordic Semiconductor on using Eclipse and GCC for development. There are a few things to note, however.

  • The instructions are specific to Windows, though with some imagination, you can adapt them to Linux and OS X.
  • The instructions don't make use of GNU ARM Eclipse Plug-ins. Specifically, they don't use the SEGGER J-Link Eclipse plugin and they use a makefile instead of the managed build plugin.
  • The application note hasn't been updated for version 7.1.0 of the SDK.

Tools for OS X Development

If you're using Eclipse on OS X, this is a list of tools that may be helpful.

Development with Eclipse and GCC

This blog post references the application note above, and is a little more up-to-date. One nice thing about this blog post over the application note is that it uses the SEGGER J-Link plugin.

  • It also uses a makefile instead of a managed build.
  • It hasn't been updated for version 7.1.0 of the SDK.
  • It's specific to Windows--i.e. make flash is not going to work out of the box on OS X.

Getting started with nRF51 development on Mac OS X

While not specific to Eclipse (in fact, Eclipse isn't used at all in this blog post), it has excellent information on using GCC and makefiles for development on the Mac.

  • It's updated for version 7.0.0 of the SDK.
  • It contains instructions for flashing firmware from the command line using the SEGGER J-Link tools on OS X.

Software Development with nRF51 Series BluetoothRegistered Low Energy SoC

This blog is up-to-date. It's an excellent source for getting everything working at a low price-point:

  • It uses the IMM-NRF51822 ($22.95) module instead of the nRF51-DK (~$70).
  • It includes instructions for using OpenOCD with the IDAP-Link ($45) instead of SEGGER J-Link (though an external J-Link can also be used with the IMM-NRF51822).
  • It includes instructions for using the third-party EHAL source tree (to facilitate portability between devices). If you don't want to use EHAL, just ignore the steps that mention it.
  • This blog also includes a modification you need to make in the SDK in order to use C++.
  • Hi, Nguyen. Sorry I misrepresented your blog article. I was ignorant of how the different parts fit together--thanks for correcting me. I updated my article and added more detail. Thanks for writing your blog article, BTW!

  • Hi,

    I'd like to clear out some confusion about the "Software Development with nRF51 blog" that was mentioned here. That blog has no preference to whether using JLink or OpenOCD but a little bit more oriented toward OS X. The blog showed both configurations on the Eclipse page of the Blog. Nordic dev is based on Keil and JLink but many questions has been asked to use other means that are free or less expensive. I do own a JLink Ultra+ and do a lot of work with it including all the works I post on the site. The main purpose of that blog site is to use free and very low cost tools to develop so everyone can enjoy.

    EHAL (Embedded Hardware Abstraction Library) is a multi-platform library. You are not require to use it. Although it is leaned toward the IMM-NRF51822 but the example code are mostly generic nRF51822. A lot of people use it on the EK/DK and other modules as well. Not everything is in the SDK. EHAL provides many functions that do not exist in the SDK that works across ARM MCU (LPC17xx, LPC11xx, CC3200, nRF51 and others). The EHAL source tree is just a facility to work with multiple MCU where code are shared as explained in the EHAL page of the site. The nRF51 page is what specific the nRF51xx, even Arduino is supported.

    Another thing worth mentioning is that all the BLE example code on the blog have a corresponding iOS code in a one to one relationship to help understand how it works. I am suppose to make the Android version as well but since Google changed the Android dev to the new IDE, I haven't got time to catchup with it.

    In general the blog is about alternative and affordable way to Embedded development for everyone.

    Thanks for mentioning about the blog post.

    PS. I have been working on an alternative low cost jtag tool based CMSIS-DAP. Hope to get your supports.