Firmware update over UART using BGAPI UART DFU Bootloader

Answer

BGAPI UART DFU Bootloader

This bootloader firmware is programmed by Silicon Labs to all BG22 modules during the manufacturing process. It supports updates over UART with special utility uart_dfu.exe

Updating the application using BGAPI UART DFU Bootloader

  • Please build the application uart_dfu.exe using “make” with “cigwin” or similar platform on Windows operating system. On Linux, and Mac OS/s the “make” is supported natively.
  • As an example the source code of the application uart_dfu can be found under the following folder on WindowsOS: 

C:\SiliconLabs\SimplicityStudio\v5\developer\sdks\gecko_sdk_suite\v3.2\app\bluetooth\example_host\uart_dfu

  • Please build the application uart_dfu using of the methods described above
  • Locate the uart_dfu.exe executable and run the command:  
    ./uart_dfu.exe COM42 115200 full.gbl where:​​​
  1. ./uart_dfu.exe - name of the application 
  2. COM42 - serial communication port of the connected DVK 
  3. 115200 - serial port baud rate
  4. full.gbl - Geko Bootloader file [GBL]. This file is generated by running  the create_bl_files.bat/.sh scriptsThe script is included into soc-empty project templated that is provided by Simplicity studio. For testing please use soc-empty template project from Simplicity studio for experimenting and creating the GBL file      
  • The utility generates the following message upon successful application update completion:
User-added image 
  • Once the update is completed, to test the BLE application(example: soc-empty) please used mobile application (e.g.: nRFConnect, EFRConnect). The device should be advertising with “Empty Example” device name if soc-empty project produced firmware was used for update without any additional modifications. The device name can be updated in the soc-empty project using GATT configurator as shown:

    User-added image 

 Summary:

The steps above prove with basic usage information on utilizing BGAPI UART DFU BOOTLOADER  for modifying the firmware application partition of the internal flash of BGM220P and BGM220S modules.