Developing with WiSeConnect™ SDK v3.x with the SiWx91x™ system-on-chip on a Custom Board#

This guide describes how to develop applications on a custom board built on top of an SiWx91x™ system-on-chip using the WiSeConnect™ SDK v3.x in System-on-chip (SoC) mode, where both the application and the connectivity stack run on the SiWx91x™ chipset.

Note: The output images in this guide are for illustration purposes only. Details such as board names and version numbers may not exactlyb match the product.

Check Prerequisites#

Note: The hardware and software requirements mentioned in this section are specific to the example(s) recommended with this guide in the Create Project section. If you are working with a different example, refer to its README page for the hardware and software requirements. To see the README page of a specific example, click on the Go to README link next to it in the Examples page.

Software#

  • Simplicity Studio

  • Simplicity software development kit (SiSDK (formerly GSDK))

Note:

  • We recommend using the latest SiSDK (formerly GSDK) version.

  • Refer to the Release Notes for the SiSDK (formerly GSDK) version tested with this release.

Hardware#

  • SiWG917M111MGT - Wi-Fi 6 and Bluetooth Low Energy system-on-chip for SoC mode

  • Windows/Linux/MacOS computer with a USB port

  • A USB cable that is compatible with the computer's USB port and the board. (For e.g., type C to type A if the computer has a type A USB port and the board has a type C port.).

Setup Software#

You may setup the following software in this section while waiting to receive the hardware:

Connect SiWx91x™ to Computer#

  1. To establish a connection, first link your custom board to a debugger using SWD/JTAG. Then connect the debugger to your computer using a compatible USB cable.

  2. Simplicity Studio will detect and display the part number in the Connected Devices section.

    OPN detectionOPN detection

Note: The above snippet shows a SiWG917 radio board in the Connected Devices section. Instead, in the scenario where only the SiWx917 system-on-chip is used, it will display the part number in the Connected Devices section as mentioned above.

Update SiWx91x Connectivity Firmware#

Note: The SiWx917 connectivity firmware version is tightly coupled with the WiSeConnect 3 extension version. You must update the SiWx917 connectivity firmware when:

  • you first integrate an SiWx917 system-on-chip into your own custom board, or

  • you upgrade or downgrade your WiSeConnect 3 extension

You can update the SiWx91x connectivity firmware through one of the following alternative paths:

Update Firmware using Simplicity Studio Launcher#

Note: This method requires Simplicity Studio version SV5.9.0.1 or above.

  1. Log in to Simplicity Studio and connect the SiWx91x to your computer.

  2. Go to the Debug Adapters section.

  3. Select your SiWx917 part number from the displayed list.

  4. The product information OVERVIEW tab is displayed.

  5. Next to the Connectivity FW field, click Read FW Version.

  6. A warning message is displayed.

  7. Click Yes.

    Read FW VersionRead FW Version

  8. After resetting your connected SiWx917 system-on-chip, its current firmware version will be displayed next to the Connectivity FW field. If the firmware version is older than that required for your installed WiSeConnect 3 extension, the Update to xxxx option will be shown where xxxx is the version available with your WiSeConnect 3 extension.

    Note: If the firmware version matches the one required for your WiSeConnect 3 extension, you will see the screen described in step 13 below.

    Display FW VersionDisplay FW Version

  9. Click Update to xxxx.

  10. The Connectivity Firmware Update Warning message is displayed.

  11. Click Yes.

    Connectivity Firmware Update WarningConnectivity Firmware Update Warning

  12. A progress message is shown.

    Load FW VersionLoad FW Version

  13. On successful update, the updated firmware version will be displayed next to the Connectivity FW field, with the label "Latest" next to it indicating that the SiWx917 connectivity firmware version now matches the one required for your installed WiSeConnect 3 extension.

    Latest FW VersionLatest FW Version

Note: See the troubleshoot a firmware update failure section in case of failure in updating the firmware.

Update Firmware using Simplicity Commander#

  1. In the Simplicity Studio home page, click Tools.

  2. In the Tools dialog, select Simplicity Commander and click OK.

    Select CommanderSelect Commander

  3. In the Simplicity Commander window, click Select Kit and choose your radio board.

    Select KitSelect Kit

  4. In the navigation pane, go to the Flash section.

  5. Click Browse next to the Binary File field.

    Select the Flash OptionSelect the Flash Option

  6. Locate and select the firmware file to flash from within the appropriate sub-folder of the WiSeConnect 3 extension path:

    • For OPN SiWG917M110LGTBA, select the firmware file from the connectivity_firmware/lite sub-folder.

    • For all other OPNs, select the firmware file from the connectivity_firmware/standard sub-folder.

    Note:

    • If you don't see any files in the sub-folder, select All files in the file filter field in the Browse dialog.

    • The WiSeConnect 3 extension path is the one where the extension was downloaded during installation. If you're not sure what the path is, you may refer to the location in the Preferences > SDKs page shown on clicking Manage SDKs.

    Click the Manage SDKs butttonClick the Manage SDKs buttton

    Selected ExtensionSelected Extension

  7. Click Flash.

    Click the Flash buttonClick the Flash button

  8. The firmware will be flashed and the Log Window will display the message: "Flashing completed successfully!"

Note: See the troubleshoot a firmware update failure section in case of failure in updating the firmware.

Create a Project#

Note: We recommend using the SI91x - Blinky example with this guide.

  1. Log in to Simplicity Studio and connect the SiWx91x™ to your computer.

  2. Select the Launcher, then select the SiWx917 part number in the Connected Devices section on the Welcome to Simplicity Studio page and click Start.

    StartStart

    • Alternatively, you can also go to the Debug Adapters section and select the SiWx917 part number from the displayed list.

      OPN SelectionOPN Selection

      Note: The above snippet shows a SiWG917 radio board in the Debug Adapters section. Instead, in the scenario where only the SiWx917 system-on-chip is used, it will display the part number name in the Debug Adapters section.

    • Alternatively, you can also go to the All Products tab and enter the SiWx917 part number in the Search product name text box.

      OPN SelectionOPN Selection

  3. The Launcher page will display the selected SoC details.

  4. Select the OVERVIEW tab.

  5. Verify the following in the General Information section:

    • The Target Part is the SiWx917 part number.

    • The Preferred SDK is the version you selected earlier. (Refer to the Setup Software section to note the SDK versions)

    OPN DetailsOPN Details

  6. Select the EXAMPLE PROJECTS AND DEMOS tab.

    OPN Example Projects ListOPN Example Projects List

  7. Locate the example you want and click CREATE.

    OPN Create ExampleOPN Create Example

  8. In the New Project Wizard window, click FINISH.

Configure an Application#

  1. Click Simplicity IDE to open the Project Explorer pane.

  2. To enable the GPIO macros,

    • Install the ENABLE USER CONFIGURATION component from the WiSeConnect 3 extension. See here for the instructions for adding a component.

      OPN Install "Enable USER CONFIGURATION" MacroOPN Install "Enable USER CONFIGURATION" Macro

    • In the Project Explorer pane, navigate to the config folder and open the RTE_Device_917.h file. Edit the peripheral GPIO macros in this file as per your board connections.

      OPN RTE_DEVICE_917.h FileOPN RTE_DEVICE_917.h File

  3. Install the Common Flash Component component from the WiSeConnect 3 extension. See here for the instructions for adding a component.

    Common Flash componentCommon Flash component

  4. To configure stacked PSRAM SoCs like SiWG917M121XGTBA and SiWG917M141XGTBA that lack internal flash memory, additional configurations are necessary.

    • Three external flash size options are available: 2MB, 4MB, and 8MB. Install the required External Flash Component component from the WiSeConnect 3 extension.

      External Flash componentExternal Flash component

    • Uninstall the already installed PSRAM Core and PSRAM Device components. Then proceed to re-install the PSRAM Core component. You will be prompted to specify the PSRAM device. In case of the SiWG917M121XGTBA SoC, select the APS1604M-SQR variant and for the SiWG917M141XGTBA SoC, select the APS6404L_SQRH variant.

      PSRAM VariantPSRAM Variant

    • Install the No External PSRAM component.

      External PSRAM componentExternal PSRAM component

    • See here for the instructions for adding a component.

  5. To configure the SiWG917M111XGTBA SoC that lacks internal memory, additional confiigurations are necessary.

    • Three external flash size options are available: 2MB, 4MB, and 8MB. Install the required External Flash Component component from the WiSeConnect 3 extension.

      External Flash componentExternal Flash component

    • This SoC supports the use of external PSRAM. When using an external PSRAM, install the necessary External PSRAM component. The available size options are 2MB, 4MB, and 8MB.

      External PSRAM componentExternal PSRAM component

  6. Configure the settings for your example. For SI91x - Blinky (the recommended example for this guide) or for other examples, see the Application Build Environment section in the README page for configuration instructions.

Note:

  • You may use the Component Editor to configure the components in your example.

  • You may use the Pintool to configure the pin mappings in your project for your SiWx917 system-on-chip.

Build Application#

Note: If you upgraded from a SiSDK (formerly GSDK) version earlier than v4.4.0, please upgrade your GNU ARM Toolchain. See the GNU ARM v12.2.1 Toolchain section.

  1. Make sure the configurations mentioned above are noted and the necessary modifications are done. Only then, proceed to build the application.

  2. In the Project Explorer pane, right-click the project name and select Build Project. You may also click the Build button with a hammer icon on the Simplicity IDE perspective toolbar.

    OPN Build ProjectOPN Build Project

Note: In some cases, user might require a few more configuration changes related to the specific peripheral in use. So, if additional warnings or errors are received, follow what warnings says, it redirects to the specific files. Modify the configurations there to resolve the remaining errors.

Note: See the troubleshoot an application build section in case of failure in building the application.

Flash an Application#

Note: The SiWx91x SoC comes pre-flashed with a bootloader. A bootloader image does not need to be flashed separately.

There are two alternative methods to flash an application to the application processor of the SiWx91x device:

Once you flash the SI91x - Blinky example (the recommended example for this guide), you may refer to the Test the Application section of its README page to explore its output. The other sections of the README like the Purpose/Scope section and Overview section (not present in some README's) provide more information about the example.

Flash an Application Built Using Simplicity Studio#

  1. Build the application as described in the Build Application section.

  2. In the Project Explorer pane, right-click on your project name and select Run As > 1 Silicon Labs ARM Program.

    Flash ApplicationFlash Application

  3. The application binary will be flashed on the radio board and the application will start running.

  4. View the standard output or enter input data as needed.

Flash an Application Binary#

  1. If the binary was built as described in the Build an Application section, a file with a .rps extension is generated. This file will be available under GNU ARM vXX.x.x - Default in the users workspace. To see its location in your computer's file system, right-click on the .rps file and select Show In > System Explorer.

    • Alternatively, you may have obtained a .rps file through another means such as someone else building and providing the binary to you.

      M4 rpsM4 rps

  2. The instructions to flash the application binary are almost the same as those for flashing an SiWx91x firmware file, except for the point noted below:

    • Instead of choosing the SiWx91x firmware file, select the .rps you obtained in step 1 above.

    Note:

    • If you don't see .rps files in the sub-folder, select All files in the file filter field in the Browse dialog.

    • The SiWx91x SoC device expects a .rps format application file to be loaded into it (Other file formats are not supported).

    Browse the fileBrowse the file

Note: See the troubleshoot an application flash failure section in case the application fails to flash.

Configure the Debugger#

See here for the instructions to configure the debugger.

Debug an Application#

See here for the instructions for debugging an application.