Sort by » date activity comments

14 blog posts tagged with gcc

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 Kristin

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

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

image description

  • Select File -> Import IAR EWARM / Keil MDK Project...
  • Navigate to your local nRF5 SDK and in NRF5_SDK/examples/ble_peripheral/ble_app_beacon/ select pca10040/s132/arm5_no_packs/ble_app_beacon_pca10040_s132.uvprojx
  • The Import Build Configuration window will pop-up...
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 Michael Dietz

Segger Embedded Studio - Cross Platform IDE w/ no Code Limit! (Mac OS X, Linux support)

This blog post will get you started with SEGGER Embedded Studio (SES) in less than 15 minutes!


  • Windows, Mac OS X and Linux support.
  • Free no limit evaluation.
  • Extremely intuitive & easy to use.
  • Powerful debugging capabilities.
  • Seamlessly import existing Keil/IAR projects.
  • Choice between GCC (default) and LLVM compiler.

Nordic's development kits come shipped with SEGGER J-Link firmware. Many of our tools used to program and debug our devices rely on SEGGER software & benefit from SEGGER's unparalleled feature set and performance. It would make sense to use SEGGER's IDE as well to provide a smoother development...

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...