This is a tutorial on how to perform a Device Firmware Upgrade (DFU) with Bluetooth over-the-air (OTA) upgrade. The OTA upgrade follows the Silicon Labs OTA procedure that is described in application note AN1086. Most of the example applications provided in the Bluetooth SDK already have OTA support built into the code. In these examples, the DFU mode is triggered through the Silicon Labs OTA service that is included as part of the application’s GATT database. This can be checked and added in the BLE GATT Configurator in Simplicity Studio.
For demonstration purposes, we are going to upgrade the SoC - Empty SDK example application to the SoC - Smart Phone App example application. This allows us to easily verify that the functionality of the user application has changed as the smartphone example has the Health Thermometer service and uses the LCD for visual feedback.
Once in the app,
After the OTA process has finished, verify that the kit is now running the SoC - Smart Phone App example. You can find the kit in the Bluetooth Browser with a new name like "BGXXXXX". The name is also shown on the LCD.
To enable Bluetooth OTA upgrade, the target device must be programmed with Gecko Bootloader that is configured as Internal Storage Bootloader. This is an application bootloader and it requires that the new firmware image acquisition is managed by application. Running the "Demos" in Simplicity Studio will include the bootloader and user application. However, flashing a "Software Example" does not. If your OTA upload stops at 0 % and you get a message on Android saying "GATT CMD STARTED", then that might indicate a missing or incorrect bootloader. In this case do the following:
After doing all steps, I select "/exampleOTAfolder" in which I have confirmed the existance of "application.gbl" but blue gecko app does not show me gbl files for choosing one, so I can't select the file. Is there any App bug ?
Sure, here we have.
The problem I have is that after selecting folder "/ Subfolder" in my case, App does not let me select any file.
I touch with my finger over the "App:" fiel but it does not show me any file list. Simply it does nothing when touching.
I free up some memory space and that way notification dissapears. Then I reinstall the Blue Gecko App but the same is happened. Any other indication ?
I wanted to know how to do a full update using the Blue Gecko app.
The partial update I did was successful but I am not sure how to do a full update.
I have transferred 3 files to the folder: application.gbl, apploader.gbl, and full.gbl
the app asks for
I am using the EFR32BG13P632F512GM48 chip, bootloader-storage-internal-ble, and a bluetooth mesh application(node unprovisioned, unprovisioned beaconing)
The full.gbl can be used when you do OTA via the DFU method as mentioned in section 5 of AN1045. The process goes from being 2 steps to 1 step but a majority of times you only want to update the application.
Correction: The full.gbl can be used when you update the firmware via the DFU method as shown in section 2.4 of AN1086. It cannot be used for OTA.