This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to set up GCC and Eclipse for development on the beacon kit

Hi,

I am looking to select a bluetooth chip for a new project, one of the criteria is access to free development tools. I see that in the SDK GCC is supported. But: how do I set this up? Is there some guidelines or user manual? And what is this soft device? Is there a step by step tutorial or something to get started? I would like to start off from the beacon example, and from there on add things, like communication to an SPI device from the microcontroller.

Any help is very welcome, find it very difficult to find an entry point...

  • Hi, you may want to have a look at this blog post here for development with GCC and Eclipse. I used Eclipse Luna in this example, but recommend using Kepler instead as there's currently a minor bug in Luna CDT.

    Bug description: "The debugger buttons are disabled If you upgraded to Eclipse Luna 4.4, and you notice that the debugger buttons are not available (in fact the buttons are still there, but are greyed/disabled), you are facing a Luna CDT bug. The workaround is to quit Eclipse and to retry." link

    Here's a post on getting started with bluetooth development: devzone.nordicsemi.com/.../

  • Hi,

    Ok, will check this out. One question already though: can I use this on a MAC? I found this blog: devzone.nordicsemi.com/.../

    But there I need to download also the S110-SD-v7, but that is not unlocked using the serial number of the beacon kit. So I need to buy an additional RF51 DK for that? (already bought 3 beacon kits...). Or is they S110-SD-v7 nothing but the hex file which I can also find in the beacon kit example software directories?

    I want to use the bluetooth beacon feature, but also would like to microcontroller to talk to another peripheral device via SPI, the beacon kit seemed to be well equipped for that, to build my proof of concept. And would like also to use an external interrupt to count pulses. So: which example do I start from?

    I did this already on a bt chip from TI, so, I have my application firmware available already, I would just like to port it to this platform now, as I believe the nRF chip will be a more future proof choice.

  • This blog post here is full Eclipse GCC on OS X. Contains example project created with Eclipse also include iOS source code for each examples. Current Eclipse is Mars. Luna is not recommended. http://embeddedsoftdev.blogspot.ca/p/ehal-nrf51.html

  • Hi Nguyen, Your blog has given me a lot of insight so far. Have installed all the plugins, tool chain, and did all the recommended settings as from the GNU ARM Eclipse website.

    I now try to build the EHAL and CMSIS library projects first. When trying to build the CMSIS project, I get 2 warnins on include paths that are not found, although they are there, and I put them in the right place - as the nrf51_sdk directory name is not the original name but I had to rename it, could that be the reason? Following paths were not found: Invalid project path: Include path not found (CMSIS/CMSIS/include) Invalid project path: Include path not found (nrf51_sdk/components/drivers_nrf/hal)

    Or is this error due to the way I imported the project? I have done the import by doing Import>General>Existing projects into workspace> then chose the indicated workspace directory as root directory, and selected all the projects it found. Was that the right way ?

    But apparently the library was built ok, only warnings.

    However, when building the EHAL project, I do get an error on a file not found: nrf51.h. This file resides in the nrf51_sdk/components/drivers_nrf/hal directory, so here, the warning causes an error.

    Furthermore, I do not have the sub directories -- nrf51422 and -- nrf51822 in the SDK I downloaded from then nordic website (SDK version 7). Do I need them? And then, I am not sure how I can port your projects to the Beacon kit hardware just yet, can you point me where to start?

  • The CMSIS Path, because you have not downloaded the CMSIS library from ARM and put in the source tree. There is a link to download the CMSIS on the EHAL page. It is general for all ARM development. The missing nrf51 path is because of the new SDK 7. All the source tree of the new SDK have changed. The projects are updated with SDK7. You'll need to change the path to location where you put the SDK. Importing existing project is fine. The SDK7 is very messy with include files all over the places. The folder nrf51422 and nrf51822 are the old SDK6.

    I did put the precompiled CMSIS & EHAL lib in github. For quick start, you don't need to compile them. For long term, it may be best to get them compiled on your system.

Related