BLE Hands on Getting Started - joe-possum/IoT-Developer-Boot-Camp GitHub Wiki

1. Introduction

In this worksheet we introduce using Simplicity Studio to build and run demo application which can interact with the EFR Connect mobile application. This and the following Hands on worksheets are based upon Simplicity Studio 5.3 and GSDK 4.0. These worksheets should be usable with any Bluetoth LE capable radio board mounted on a WSTK motherboard and with Thunderboard devices. Thunderboard devices do not have Advanced Energy Monitor or LCD display capabilities which will limit some exercises.

1.1 Running a Bluetooth LE Application

Before proceeding too far, it is useful to understand the boot process which is required for a successful application launch. After self initialization the following stages occur:

  • First stage bootloader
  • Second stage bootloader
  • (Optional) Apploader
  • Bluetooth LE Application

1.1.1 First stage bootloader

In normal operation the First Stage bootloader verifies, then executes the Second Stage bootloader, but does have the capability to perform a firmware upgrade of the Second Stage bootloader. For a Series 2 device (EFR32xG2* SoC or xGM2xx modules) the Secure Element handles the First Stage bootloader role. For a Series 1 device (ERF32xG1* SoC or xGM1* modules) the First Stage bootloader exists in flash.

1.1.2 Second Stage bootloader

In normal operation, the Second Stage bootloader verifies, then executes the following application. The Gecko Bootloader is a highly configurable implementation of the Second Stage bootloader which is provided as a number of example configurations in the SDK. Second Stage bootloader exists in flash.

1.2.3 Optional Apploader

By default the SoC example applications include Apploader, which is a standalone Bluetooth application with a small footprint. In normal operation Apploader verifies, then executes the following application. If activated, Apploader becomes a peripheral device using a custom protocol to perform an in-place Over-The-Air (OTA) upgrade of the following application. This is very useful for devices which have insufficient flash available to perform an application based OTA upgrade where the application saves the potential upgrade image into a storage slot.

1.1.4 Further Reading

The following documents are excellent resources for in depth coverage of the above:

2. First Steps

Ideally you would work through the following sections in order, however in some cases this will not be possible. I suggest opening the sections in a new tab so you can navigate back to this list easily. (Right click on link in most browsers)

⚠️ **GitHub.com Fallback** ⚠️