BLE Hands on Getting Started - joe-possum/IoT-Developer-Boot-Camp GitHub Wiki
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.
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
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.
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.
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.
The following documents are excellent resources for in depth coverage of the above:
- UG489: Silicon Labs Gecko Bootloader User’s Guide for GSDK 4.0 and Higher
- UG103.6: Bootloader Fundamentals
- AN1086: Using the Gecko Bootloader with the Silicon Labs Bluetooth® Applications
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)
- Simplicity Studio - Launcher Perspective This perspective is the starting point for many of the early exercises.
- Simplicity Studio - Using Commander Using Simplicity Commander to examine the connected device.
- Simplicity Studio - Flashing Health Thermometer Demo - Attempt to run a prebuilt demo. If this step is not available for the radio board you are using, skip ahead to the execises for building and flashing the bootloader and the application, then return to the EFR Connect exercise.
- EFR Connect - Health Thermometer Use the EFR Connect Health Thermometer viewer to interact with device running the Bluetooth - SoC Thermometer firmware.
- Simplicity Studio - Build and Flash Gecko Bootloader - Build Gecko Bootloader from source project and flash to device.
- Simplicity Studio - Build and Flash SoC Thermometer - Build Bluetooth - SoC Thermometer from source project and flash to device.
- Quick Overview of SoC Thermometer code - A quick review of stucture of a simple Bluetooth application. Also introduce Debugger and using VCOM.