Sort by » date activity comments

17 blog posts tagged with gcc

by Carlos Delfino

Estudando Projetos do SDK 10 para nRF5x com Eclipse Oxygen (Portuguese)

The purpose of this tutorial is to expound my notes on the studies I have done on the use of nRF51, but also serve for the nRF52, and thus share with the beginner as I of the Portuguese language. This tutorial is continuity in the [previous tutorial] (

The SDK 10 is chosen because there is still the S110 version of SoftDevice for the nRF51.

If you find any errors, be sure to let me know, because they are annotations made as I am learning to program for these modules, so I can initially...

by Carlos Delfino

Configurando o Eclipse Oxygen para Desenvolvimento com nRF5x (Portuguese)

This tutorial aims to help Portuguese language beginners, like me, with the nRF5x family and who chose to use Eclipse as a development tool.

The tutorial will be very simple and we will use the Eclipse Oxygen and the GNU MCU Plugin, in addition to GCC 6.

There will also be separate tutorials for each step, in this will be the only configuration of Eclipse for use of the Tools and soon thereafter will create another showing how to create a project using one of the examples, and finally a third demonstrating how to create a project from scratch.


by jmag999

ble_app_hrs_freertos running in Atollic TrueSTUDIO

This post describes how you can get the ble_app_hrs_freertos example project running in Atollic TrueSTUDIO 8.0 on a pca10040 board. This is a managed make build, it does not rely on the makefile provided by Nordic. No Nordic source files are changed and it even uses the existing gcc linker files from Nordic.


1) Download and install Atollic 8.0

2) Download and unzip nRF_SDK_14.0.0_3bcc1f7.

3) Download the project zip file.

by Mohammad Afaneh

The complete tutorial for developing and debugging nRF52 applications on a Mac

I realize that there are already multiple tutorials on how to configure GCC along with Eclipse or SEGGER Embedded Studio (for use on a Mac), but this tutorial goes over setting up a different IDE. The more choices the better, right? ;)

The IDE of choice for me is NetBeans. NetBeans is well known for Java development but not as much for C/C++ or embedded. However, I personally have been using it for embedded development for about 10 years now (both embedded Linux and MCU-level development). In this tutorial, I'll be going over how to set up and configure...

by Radosław Koppel

FreeRTOS threads preview with J-Link, GDB/Eclipse

Short note how to make FreeRTOS program debugging with eclipse little simpler.

If you are looking the information how to configure the whole environment see this post:

What we get out of the box

Most low power applications stays most of the timer in idle. Ideally it would be tickless-idle. The problem begins if our program behaves strangely and we would like to stop it and check what is going on.

Lets get blinky_freertos example. Run it and halt just in random moment. Until you are very lucky you would stop somewhere in...

by Daniel Veilleux

Monitor Mode Debugging with J-Link and GDB/Eclipse

The biggest pain point when debugging an application on the nRF51 series is the inability to set breakpoints while the SoftDevice is active without triggering an assert. Although a workaround exists that allows the debugging process to limp along for a short amount of time after the SoftDevice complains, using breakpoints with the nRF51 is inevitably a disruptive process.

Thankfully, the nRF52 series includes support for a neat feature called Monitor Mode Debugging. When this feature is enabled, the processor will trigger a specific interrupt handler (DebugMon_Handler) instead of halting when a breakpoint is reached. This DebugMon_Handler then spins and...

by Hung Bui

Segger Embedded Studio - A Cross Platform IDE

Download and Setup

Note: It is recommended, but not necessary, to use the most recent releases of the above software.

Importing a Keil uVision project

Note: From nRF5 SDK v14.1, Segger Embedded studio projects are officially supported. If using v14.1 or newer, please use the native SES-projects instead of the "import" function.

  • Open SEGGER Embedded Studio 3.10e
  • Select Tools -> Package Manager... and install the CMSIS-CORE Support Package

image description

  • Select File -> Import IAR...
by Daniel Veilleux

Getting More Out of Make

There are many reasons why you may want to modify the Makefiles that are included in the SDK examples. For instance, if you are invoking Make from the command line then you will probably also want the ability to have Make ensure that everything is up-to-date and then start GDB for you. Even if an IDE like Eclipse is invoking Make for you, enabling incremental builds can save you time. The purpose of this post is to introduce you to a few Makefiles that I created to show how Make can do more work for you.


If you've...

by Michael Dietz

Segger Embedded Studio blog post rev2 DEPRECATED


see new blog post for new version of embedded studio here:


This post is an introductory tutorial to SEGGER Embedded Studio. If you haven't already please skim through this post but don't follow along with it. This is the new and improved tutorial using the nRF device pack and assumes no prior knowledge on Embedded Studio.

After following this tutorial you will be able to build, debug and run a BLE project on nRF5x devices! You will also be able to load...

by Michael Dietz

Comparing compilers/IDEs for development with nRF5x series devices


All compilers ARE NOT created equal. Given the same c code, different compilers will generate machine code with varying performance & size. Generally the more efficient machine code (uses less CPU cycles/machine instructions to perform the same high level functionality) will use less power as it completes processing faster and can enter low power states for longer. It will also enable more complex algorithms to run within your timing constraints. In resource constrained devices more compressed machine code can eliminate the need for external flash, or provide more 'room' to work with. It can also eliminate the need to...

by Michael Dietz

SEGGER Embedded Studio Part 2 - Monitor Mode Debugging

This tutorial will take less than 15 minutes.


Never lose a BLE connection when debugging your applications again! This technique will also be useful for any application using the PWM peripheral and many others as well!

Monitor mode debugging can only be done on nRF52 series devices. It will not work with nRF51 series devices as Cortex-M0 doesn't support this feature.


In the last blog post we introduced you to SEGGER Embedded Studio (SES). Please at least skim through that post if you haven't already.

In this post we...

by Marco Russi

iBeacon application example with nrf51

Hi all, I developed an iBeacon application example with nrf51 chip-set. The firmware has been developed on top of softdevice s110 and Nordic SDK running on a nrf51 PCA10028 Dev. Kit. I used an arm-eabi-none GCC toolchain and JLink under Ubuntu. Find the github link here below:

Have a look at the README file for a full documentation (install, build, customize, ...).

The make file allows you to debug, flash and customize minor and major numbers by storing them into the UICR memory. So, you can flash many individuals beacons easily and the proceduer can be...

by Jacob Portukalian

nRF51 Qt GCC Example

Hi Everyone!

At Sky Wave Design, we recently switched all of our Nordic development over to using GCC and using Qt Creator as the IDE.

We have released our example project on github for those of you that could use an example as well as a readme on how to set up Qt.

This is a work in progress, so please feel free to offer any suggestions on how to improve things!


I thought it would be a good idea to credit the following posts as they were responsible for me getting this set...

by wim

Debugging using QtCreator on Mac

This post started as a question, but got the suggestion to post this as a blog post. Here it is.

I have been trying to get QtCreator configured such that I can use it as my IDE for the nrf51822 on Mac OSX. I use the NRF51DK as hardware, but also had it working using my own board and a Jlink Lite.

As a starting point I have been reading this post:

Here's what I did in a nutshell:

  1. Installed latest version ofQtCreator (3.4.1) image description
  2. Enabled the Baremetal plugin and restarted QtCreator image description
  3. Configured...
by Eliot Stock

Visualising your memory usage

The linker in the GCC toolchain, ld, produces a *.Map file which shows you how the memory on your micro is being used. This file is a goldmine of information but it's a bit difficult for humans to absorb.

I've whipped up a web page which uses the excellent D3.js library to draw a visualisation of your memory usage, using the *.Map file as input. Blocks of memory are drawn proportionally so it's easy to see how much memory you have left and where it's all being used. Click on a block to zoom in...

by EmBlocks

Nordic nRF51 support in Em::Blocks (with softdevice integration)

Em::Blocks supports now the nRF51 devices from Nordic. You can select in the new project wizard which device family (51422 or 51822) and if soft devices are needed or not.

image description

The templates for the softdevices are empty after first installation. The packages must be downloaded from the Nordic download section (after login) and unpacked inside the wizard template sub directories. After the execution of the convSD.bat file there will be c-array files and API includes generated which can be used by the wizard.

The softdevices are placed at the right location by the linker so you don't...

by Stian

Development with Eclipse and GCC

Updated version here (21.04.15):

I have noticed that there have been several questions on development with Eclipse and GCC, and I have also been trying myself for quite some time to make it work properly. It finally seems like I have figured out an approach that works for me. I.e., successfully importing and debugging of example projects from the nRF51 SDK. So I thought I could make a blog post to share my setup and hopefully help others who are also new to Eclipse and GCC.

Inspired by other devzone...