Skip to content

Commit

Permalink
Pull request project-chip#54: Update OTA documentation
Browse files Browse the repository at this point in the history
Merge in WMN_TOOLS/matter from bootloader_doc to silabs

Squashed commit of the following:

commit 43f5a7c5755f93fa2281adfe9f270cc2c116fb3c
Author: Sergei Lissianoi <selissia@silabs.com>
Date:   Mon Aug 29 16:04:50 2022 -0400

    Fix typo

commit c81b0c97ef67a48090b36a218e7c51041613dc97
Author: Sergei Lissianoi <selissia@silabs.com>
Date:   Mon Aug 29 16:04:00 2022 -0400

    Fix formatting

commit dac5a023693eae20c6554069de9cb4c062c4a040
Author: Sergei Lissianoi <selissia@silabs.com>
Date:   Mon Aug 29 15:58:04 2022 -0400

    Update OTA documentation
  • Loading branch information
selissia authored and jmartinez-silabs committed Jan 9, 2024
1 parent 042cc2f commit 1c034ed
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
12 changes: 11 additions & 1 deletion docs/silabs/general/OTA_BOOTLOADER.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,17 @@ It is recommended to install the "GBL Compression (LZMA)" component under Platfo
At this point the project contains all the components necessary to support the Matter OTA Software Update functionality. Other components can now be added to support additional features such as Secure Boot. Refer to _UG489: Silicon Labs Gecko Bootloader User's Guide for GSDK 4.0 and Higher_ for the description of various Bootloader features and the steps to enable them.

### Building and Flashing the Bootloader
Build the project by clicking on the hammer icon in the Studio toolbar. Flash the bootloader to the board using the "Upload Application" option from the Debug Adapters view.
Build the project by clicking on the hammer icon in the Studio toolbar. Flash the bootloader to the board using the "Upload Application" option from the Debug Adapters view.

### Combined bootloader for MG12 boards
The MG12 boards (which are Series 1 EFR32 boards) require a combined bootloader image (first stage bootloader + main bootloader) the first time a device is programmed -- whether during development or manufacturing. For subsequent programming, if the combined bootloader had been previously flashed to the device use the regular version.

To create the combined bootloader follow this additional step (Step 6 in Section 6 of _UG489: Silicon Labs Gecko Bootloader User's Guide for GSDK 4.0 and Higher_) before clicking the build icon: Right-click the project name in the Project Explorer view and select Properties. In the C/C++ Build group, click Settings. On the Build Steps tab, in the Post Build Steps Command field enter

../postbuild.sh "${ProjDirPath}" "${StudioSdkPath}" "${CommanderAdapterPackPath}"

Click Apply and Close. Three bootloader images will be generated into the build directory: a main bootloader, a main bootloader with CRC32 checksum, and a combined first stage and main bootloader with CRC32 checksum. The main bootloader image is called <project-name>.s37, the main bootloader with CRC32 checksum is called <projectname>-crc.s37, while the combined first stage image + main bootloader image with a CRC32 checksum is called <projectname>-combined.s37.


## Internal Bootloader: Image Size, Selecting Storage Slot Address and Size
The internal storage bootloader for Matter OTA software update is supported on MG24 boards only. In this use case both the running image and the downloadable update image must fit on the internal flash at the same time. This in turn requires that both images are built with a reduced feature set such as disabled logging and Matter shell (see [here](./OTA_SOFTWARE_UPDATE.md#Internal-Storage-Bootloader) for the list of features). Using LZMA compression when building the GBL file further reduces the downloaded image size.
Expand Down
3 changes: 2 additions & 1 deletion docs/silabs/general/OTA_SOFTWARE_UPDATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ is controlled by the `chip_enable_ota_requestor` compile flag.
using the external flash select the "external SPI" bootloader type
configured with a single slot of at least 1000 KB. For the bootloader using
the internal flash see the Internal Storage Bootloader section below.
Pre-built binaries for some configurations are available on the [Matter Artifacts page](./ARTIFACTS.md).
Pre-built binaries for some configurations are available on the [Matter Artifacts page](./ARTIFACTS.md),
see README.md for details.

- Using the commander tool, upload the bootloader to the device running the
application.
Expand Down

0 comments on commit 1c034ed

Please sign in to comment.