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] (https://devzone.nordicsemi.com/blogs/1193/configuring-the-eclipse-oxygen-for-development/).
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...
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.
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.
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...
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: https://devzone.nordicsemi.com/tutorials/7/development-with-gcc-and-eclipse/
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...
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...
Note: It is recommended, but not necessary, to use the most recent releases of the above software.
SEGGER Embedded Studio 3.10e
Tools -> Package Manager...and install the
CMSIS-CORE Support Package
File -> Import IAR...
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.
This post is an introductory tutorial to SEGGER Embedded Studio. If you haven't already please skim through this post https://devzone.nordicsemi.com/blogs/825/segger-embedded-studio-cross-platform-ide-w-no-cod/ 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...
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...
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 https://devzone.nordicsemi.com/blogs/825/segger-embedded-studio-cross-platform-ide-w-no-cod/ we introduced you to SEGGER Embedded Studio (SES). Please at least skim through that post if you haven't already.
In this post we...
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: https://github.com/marcorussi/nrf51_beacon
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...
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...
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: https://devzone.nordicsemi.com/questi...
Here's what I did in a nutshell:
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...
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.
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...
Updated version here (21.04.15): https://devzone.nordicsemi.com/tutorials/7/development-with-gcc-and-eclipse/
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...