Wi-Fi Commissioning Micrium OS Example on WGM160P (BRD4321A)

This document describes how to run the Wi-Fi Commissioning example on a WGM160P. The example is based on the combo capacity of the WF200, meaning its ability to behave simultaneously as an Access Point and as a Station in order to demonstrate a typical use case of field deployment where an operator installs the device and configures it to connect to a specific Access Point using a Webpage.

Getting Started

This demonstration runs the Wi-Fi Full MAC driver meant to communicate with the WF(M)200 Silicon Labs Wi-Fi transceivers.

Naming convention

Requirements

Hardware Prerequisites

The WGM160P Wi-Fi Module Radio Board is a standalone module that can run once powered up through the USB port, but a Silicon Labs Wireless STK baseboard (SLWSTK6121A) is necessary to flash the module. It also offers all the possibilities provided by Simplicity Studio (download, debug, energy profiler, ...).

Software Prerequisites

The main software components used by this example are:

Set up your Kit

  1. Connect the WGM160P Module Board to the Silicon Labs Wireless STK baseboard.

  2. Ensure that the power selector switch on the Silicon Labs Wireless STK baseboard is in the [AEM] position.

  3. Provide power by connecting the [DBG] USB connector on the Silicon Labs Wireless STK baseboard to the PC using the provided USB cable.

Install Simplicity Studio and the SDK

Simplicity Studio 4 is a free software suite needed to start developing your application.

  1. Download the latest version of Simplicity Studio 4 from the following link: http://www.silabs.com/simplicity-studio.

  2. Create a Silicon Labs account.

  3. Register your WGM160P Wi-Fi Module Starter Kit by entering the Serial Number found in the packaging.

  4. In the Installation Manager, select the option [Install by Device].

  5. Connect the WGM160P Wi-Fi Module Starter Kit, select it from the panel [Connected Devices] and move it to the panel [Selected Devices].

  6. Sign in with your Silicon Labs account credentials and install the Gecko SDK Suite (espcecially 32-bit MCU SDK v5.9, Gecko Platform SDK v2.7 and Micrium OS Kernel SDK v5.8).

Clone the GitHub Repository

The example is hosted in our GitHub repository: https://github.com/SiliconLabs/wfx-fullMAC-tools. The source files have to be retrieved by cloning the repository on you computer before starting using the example.

Please refer to the Get started section of the repository to use the GitHub example. Or if you wish to download the zip file from github rather than clone the repository using Git, make sure to download the wfx_fmac_driver and copy it to wfx-fullMAC-tools/wfx-fullMAC-driver.

Import the Project

This procedure is important and has to be followed carefully. The default import method must not be used, an alternate import method is used instead to ease the source code management, especially the GitHub repository updates and sharing sources between the examples. The main difference with this alternate method is that the source code is not copied into your workspace. The sources used are directly the ones you retrieved when cloning the repository. One advantage for you is to benefit of the "git" commands to see if you applied changes to the repository, revert them if necessary, or update easily the repository.

  1. Open Simplicity Studio 4 and press [File -> Import…].

  2. Click the link [More Import Options...].

  3. Select the option [General -> Existing Projects into Workspace] and click the button [Next].

  4. Select the root directory by browsing to the location where you cloned the repository.

    wfx-fullMAC-tools\Examples\SiliconLabs\commissioning\micrium_os\WGM160P\

  5. Click the button [Finish].

At the end of this procedure, Simplicity Studio 4 has created the project in your workspace and will display the project in the [Project Explorer] as shown below:

Notice that almost all the files are linked to the SLSTK3701A folder (next to the WGM160P folder), this is why the WGM160P folder is quite empty. Make sure to keep the repository structure to avoid compilation errors.

Remove Gecko OS

The WGM160P Module Board comes with Gecko OS and the Gecko OS bootloader preinstalled, causing issues to start or even flash an example using the Open Architecture (official name of the solution provided by the wfx-fullMAC-tools GitHub repository). This solution is the recommended solution instead of Gecko OS.

The Gecko OS removal is done with the Simplicity Commander tool embedded in Simplicity Studio 4, this tool can started by selecting the [Launcher] perspective and click on the [Tools] icon, represented by a wrench next to the update icon, find the tool in the list and start it. Alternatively, the tool can also be found in the Simplicity Studio 4 installation folder, e.g. C:\SiliconLabs\SimplicityStudio\v4\developer\adapter_packs\commander).

Once Simplicity Commander tool is started, follow this procedure to remove Gecko OS and Gecko Bootloader from the WGM160P Module Board by erasing it and flashing the EFM32GG11 default bootloader:

  1. [Connect] Simplicity Commander with the Adapter Board.
  2. [Connect] Simplicity Commander with the WGM160P Module Board.
  3. Select the [Flash] section.
  4. Click on the [Unlock debug access] button.
  5. Click on the [Erase chip] button.
  6. [Browse] the wfx-fullMAC-tools folder, created during the GitHub Repository clone, to find the EFM32GG11 default bootloader named bl-usart-geckoG1-v2.07.hex at the following location Examples/SiliconLabs/shared/wgm160p/bootloader.
  7. Finally, [Flash] the WGM160P Module Board with the default bootloader.

The picture below represents each action mentioned above by its number:

gecko os removal

Start the Example

  1. Right-Click over the project name to open the context menu and select [Debug As] and then the option [Silicon Labs ARM Program] to Build the Project and Launch a Debug Session.

  2. While the toolchain builds the project and launches the debug session, open the Device Manager in Windows OS to see the COM Port Number assigned to the USB device [J-Link CDC UART Port].

  3. Open a Serial Terminal application, such as PuTTY, configure it to the COM Port Number you found in the previous step, and set the UART settings to 115200 bps, 8 data bits, 1 stop bit and no parity.

  4. After the Debug session is launched, the IDE will switch to the [Debug] perspective and will halt the CPU at the main entry point. Press the key [F8] to Resume execution.

  5. Watch the application’s progress on the Serial Terminal. Wait 5 seconds if you want to use the default settings. The application will go through the following stages before it is ready:

WF200 Micrium OS LwIP Example
FMAC Driver version    3.2.2
WF200 Firmware version 3.11.1
WF200 initialization successful

Press <Enter> within 5 seconds to configure the demo...
AP started
Join the AP with SSID: silabs_softap

You are ready to move to the Wi-Fi commissioning demonstration page.