Getting Started with WiSeConnect™ SDK v3.x and EFx32™ Host in NCP Mode#

This guide describes how to get started with developing an application for SiWx91x™ using the WiSeConnect™ SDK v3.x with an EFx32™ host in Network Co-Processor (NCP) mode, where the application runs on the EFx32 host and the connectivity stack runs on the SiWx917 chipset.

Check Prerequisites#

Hardware#

  • EFx32 Wireless Starter Kit (WSTK) board

  • EFx32 Radio board

  • SiWx917 Expansion board

  • Windows/Linux/MacOS computer with a USB port

  • USB cable

Software#

  • Simplicity Studio

  • GSDK version 4.3.1 or later

  • Tera Term

Note: We recommend using the latest GSDK version.

Install Simplicity Studio#

Download the latest version of Simplicity Studio and follow the installation instructions. During the installation:

  • make sure you log in to Simplicity Studio in the Installation Manager window,

  • select Install by technology type, and

  • select the WiSeConnect extension under 32-bit and Wireless MCUs.

Select WiSeConnect 3 Extension

Connect the Boards to a Computer#

  1. Mount the EFx32 radio board on the EFx32 WSTK board.

  2. Connect the SiWx91x expansion board to the EXP header on the EFx32 WSTK board.

  3. Toggle the upper switch on the SiWx91x expansion board to EXP-UART.

  4. Connect the EFx32 WSTK board to your computer using a USB cable.

    EFx32 to SiWx91x Connection

  5. Simplicity Studio will detect and display your EFx32 radio board.

    Studio Detects EFx32 Board

Troubleshoot Board Detection Failure#

If Simplicity Studio does not detect your EFx32 radio board, try the following:

  • In the Debug Adapters pane, Click the Refresh button (having an icon of two looping arrows).

  • Press the RESET button on the EFx32 radio board.

  • Power-cycle the EFx32 radio board by disconnecting and reconnecting the USB cable.

Install the WiSeConnect 3 Extension#

If you already selected the WiSeConnect - 3.x.x extension while installing Studio, you may skip this section.

Before installing the WiSeConnect 3 extension, upgrade to a compatible GSDK version if not already done. See the prerequisites section for the supported GSDK versions.

You may install WiSeConnect 3 through one of the following alternative paths:

Install WiSeConnect 3 through the Installation Manager#

  1. Log in to Simplicity Studio if not already done.

  2. In the Simplicity Studio home page, select Install > Manage installed packages.

    Manage Installed Packages

  3. Select the SDKs tab.

  4. Next to the WiSeConnect - 3.x.x extension, click Install.

    Install from SDKs tab

Install WiSeConnect 3 through the Manage SDKs Window#

  1. Download the WiSeConnect v3.x source code from the following URL after substituting 3.x.x with the desired release version:

    https://github.com/SiliconLabs/wiseconnect/archive/refs/tags/v3.x.x.zip
    • If you don't know your release version, go to the github releases page and select the version to download.

  2. Unzip the downloaded wiseconnect-3.x.x.zip file. It will be extracted into a folder structure similar to the following:

    wiseconnect-3.x.x
    |--- wiseconnect-3.x.x
    |------ <source code>
  3. Launch Simplicity Studio and log in.

  4. In the Debug Adapters pane, select your radio board.

  5. In the General Information section, click Manage SDKs.

    Click the Manage SDKs button for EFx32 board

  6. The Preferences window will be opened in the SDKs section.

  7. Select Gecko SDK Suite vx.x.x and click Add Extension.

    Add Extension

  8. In the Add SDK Extensions window, click Browse.

    Click the Browse button

  9. Locate and select the wiseconnect-3.x.x sub-folder extracted in step 2 above which contains the source code.

  10. Studio will detect the WiSeConnect 3 SDK extension.

  11. Select the detected extension and click OK.

    Add SDK Extensions Window

  12. If a Verify SDK Extension popup is displayed, click Trust.

    Click the Trust button

  13. The selected WiSeConnect 3 extension will be displayed.

  14. Click Apply and Close.

    Selected Extension

Upgrade the SiWx91x Connectivity Firmware#

We recommend that you upgrade the SiWx917 connectivity firmware to the latest available version when:

  • you first receive an SiWx917 evaluation kit (EVK)

  • you first receive an expansion board, or

  • you upgrade to a new version of the WiSeConnect 3 extension

  1. Attach a data cable to the SERIAL USB port.

  2. Toggle the upper switch on the SiWx91x expansion board to USB-UART

  3. Toggle the lower switch on the SiWx91x expansion board to LDO.

    Expansion Board Labeling

  4. Disconnect the SiWx91x expansion board from the EFx32 WSTK board, so that the host MCU connections do not interfere with the firmware upgrade process.

  5. Set up Tera Term. The instructions for setting this up are the same as those for RS9116.

  6. Use Tera Term to flash the connectivity firmware. The instructions for doing so are almost the same as those for RS9116, except for the step noted below:

    • In STEP 4 of the RS9116 instructions, locate and select the firmware file to flash from within the connectivity_firmware sub-folder of the WiSeConnect 3 extension path.

    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 buttton

    Selected Extension

Create a Project#

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

  2. Go to the Debug Adapters section.

  3. Select your radio board from the displayed list.

  4. The Launcher page will display the selected radio board's details.

  5. Select the OVERVIEW tab.

  6. Verify the following in the General Information section:

    • The Debug Mode is Onboard Device (MCU).

    • The Preferred SDK is the version you selected earlier.

    Verify General Information

  7. Select the EXAMPLE PROJECTS AND DEMOS tab.

  8. Locate the example you want and click CREATE.

    Select Example

  9. In the New Project Wizard window, click Finish.

    Note: The Copy contents option is not currently supported.

    Click Finish

Note: The Make a Copy option is not currently supported while editing a shared SDK file, when prompted to either make a copy of the file or edit it in the SDK itself.

Copy File or Edit in SDK

Build an Application#

  1. Launch Simplicity Studio and log in.

  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.

    Select Build Option

Flash the Application#

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

Flash an Application Built Using Simplicity Studio#

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

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

    Flash 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. See the Console Input and Output section.

Flash the Application Binary#

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

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

    NCP mode s37

  2. Follow the instructions here to flash the application binary. Instead of choosing the SiWx91x firmware file, select the .rps you want to flash.

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

    Browse the s37 file

Troubleshoot an Application Flash Failure#

The application may fail to flash if Studio failed to detect your radio board. See the Troubleshooting for Board Detection Failure section.

Debug an Application#

  1. In the Project Explorer pane, select your project name.

  2. From the menu, select Run > Debug As > 1 Silicon Labs ARM Program.

    Switch to Debug Mode

  3. Studio will switch to debug mode and halt execution at the main() function in your application.

  4. Add a break point in the desired location of the code and click the Resume button (having an icon with a rectangular bar and play button).

  5. Execution will halt at the break point.

  6. Use the following debug functions to direct the execution of the code:

    • Step In button (having an icon with a arrow pointing between two dots).

    • Step Over button (having an icon with an arrow going over a dot).

    • Step Out button (having an icon with an arrow pointing out from between two dots).

    Debug Options

  7. View the standard output or enter input data as needed. See the Console Input and Output section.

Troubleshoot an Application Debug Failure#

The application may fail to enter the debug mode due to one of the following reasons:

  • Studio failed to detect your radio board. See the Troubleshooting for Board Detection Failure section.

  • Studio failed to halt execution at the main() function. Try the following steps:

    • Click the Suspend button (having a pause button icon).

    • Click the Reset button (having an icon of a play button with an arrow underneath).

  • Unknown reason - try re-launching Simplicity Studio.

    Reset Debug

Console Input and Output#

  1. Connect your EFx32 and SiWx91x boards to your computer.

  2. Open Simplicity Studio.

  3. In the Debug Adapters pane, right-click on your radio board and click Launch Console.

    Launch Console

  4. Select the Serial 1 tab.

  5. Place the cursor inside the text input field and hit Enter.

  6. Console output will start getting displayed in the Serial 1 tab.

    Serial 1 Tab for Console Output

  7. Console input can be entered and sent to the device.

    Serial 1 Tab for Console Input

Customize Application Components#

Simplicity Studio allows you to add or remove functional components in your application, such as BSD Sockets.

Add a Component#

  1. In the Project Explorer pane, double-click the project_name.slcp file.

  2. Select the SOFTWARE COMPONENTS tab.

  3. Select the SDK Extensions filter.

  4. Browse or search for and select the component that you want to install.

  5. Click Install.

    Install a Component

  6. Studio will add the component and display a success message.

    Component Added Successfully

Remove a Component#

  1. View the list of WiSeConnect 3 extension components by following steps 1-3 of the previous section.

  2. Select the Installed filter to view the components you have installed.

  3. Browse or search for and select the component you want to remove.

  4. Select the component and click Uninstall.

    Uninstall acComponent