Sort by » date activity comments

12 blog posts tagged with segger

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 Tim

Profiling the Softdevice and FreeRTOS with Segger SystemView

In a previous blog post, RK has shown us how to use Segger SystemView to monitor a bare-metal application as well as the Softdevice. Based on his work, we will see how to go further and add FreeRTOS to SystemView in order to monitor the RTOS tasks and events.

Prerequisites :

The following steps are based on the Heart Rate application with FreeRTOS example located in the SDK...

by Michael Dietz

Video: Programming 96 nRF5 devices concurrently (AND nRF Connect MESH sneak peak)

In the video above, 96 nRF51 devices are completely erased, programmed with a 150kB .hex file, verified, and reset (application reaches main() when the blue LED lights up) in under 25 seconds. (it takes around 6 seconds to do this for one device using nrfjprog, so this is around 20 times faster than writing a script to do this one at a time).

nRF5_multi_prog program --family NRF51 -e -f s110-bootloader-devicepage-meshapp-merged.hex -v -r

Windows: nRF5-multi-prog.exe since I already have this built. Note that you can just double click (OS X/Linux) or make-exec...

by Michael Dietz

Debugging nRF52 series devices using Trace

Why use trace

"Embedded Trace Macrocell (ETM) allows to capture information on the processor’s state without affecting the processor’s performance. Microcontrollers that include an ETM allow detailed program execution to be recorded and saved in real time. This information can be used to analyze program flow and execution time, perform profiling and locate software bugs that are otherwise very hard to locate. A typical situation in which code trace is extremely valuable, is to find out how and why a "program crash" occurred in case of a runaway program count." J-Link/J-Trace User Guide.


Debugging features can...

by Michael Dietz

Monitor Mode Debugging - Revolutionize the way you debug BLE applications


Monitor Mode Debugging solves the biggest problem when debugging nRF5 devices. It allows BLE applications to be debugged without crashing after setting breakpoints/pausing execution, and is an order of magnitude better than the default 'halt mode' debugging in these situations. The IDE does not notice any difference between halt and monitor mode debug so this will work with whatever IDE you are using (will work in GDB as well). This post will serve as a step by step guide to set up and use Monitor Mode Debugging with each major IDE Nordic supports (Keil, IAR, SEGGER Embedded Studio...

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

nrfjprog, pynrfjprog - Intro, Mac OS X & Linux now supported, New Feature


Do you want a more efficient way to program your devices than nRFgo Studio? Are you an OS X or Linux user who has struggled setting up a toolchain for nRF5x devices? Maybe you are using JLink.exe or an open source tool to program your devices or maybe you even wrote your own? If this is you READ THIS POST!

If you...

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 Anders Strand

Programming and debugging custom nRF5x devices

Programming and debugging the nRF5x on our Developments kits is straight forward. Doing the same when you are using other boards might not be so easy. In this blog post we will explain which components are needed in order to program and debug a nRF5x chip.

The nRF chip is connected to a Debug unit through an interface called "Serial Wire Debug", or "SWD" for short. The debug unit acts as a bridge between the chip and your PC. It communicates with the programming and debugging software on your PC through a “Debug interface”. Your PC must have a driver...