Skip to content

yepark-wisol/WSSFM20Rx_12x

 
 

Repository files navigation

Getting started with Wisol SFM20Rx EVK SDK and gcc

Introduction

The purpose of this tutorial is to help you getting started with Wisol quad-mode module SFM20Rx, especially how-to setup their SDK with gcc.

SFM20Rx is a multi-mode module including Sigfox connectivity, WiFi, BLE and GPS and multiple sensors (magnetic, temperature, accelerometer). The EVK also comes with an NFC tag. The main core of the module is based on the Nordic nRF52832 SOC. Wisol has developed an application layer on top of Nordic SDK to interact with all connectivity blocks and sensors. BLE can be directly programmed using Nordic SDK directives as it is embedded into the nRF52 chip.

Keil development environment (windows)

##@ Development_Environment_Setup_Guide

GCC development environment (linux or mac)

Prerequisites

  • Hardware

    • Wisol SFM20Rx evaluation board
    • JLink/SWD cable
    • nRF52 DK board: optional, used as a master to connect to the Wisol dev kit using SWD. Can be bypassed if you own JTAG/SWD debugger probe.
  • Software

    • MinGW and MSys: Windows users only (http://www.mingw.org/). Provides open-source GNU tools required to use the Makefiles. Don't use Cygwin as there are incompatibilities. (test by git bash for windows64, mingw64-make)
    • J-Link software for debugging (https://www.segger.com/downloads/jlink/)
    • nrfutil: for Linux/macOS only. If you have python and pip already installed, just run the following command:
pip install nrfutil

For more information, see the link https://github.com/NordicSemiconductor/pc-nrfutil

Architecture of the SDK

The Wisol SDK is based on top of Nordic nRF5x SDK (based on v12.1 as of today). You will find the regular Nordic directories:

  • components
  • documentation
  • examples
  • external
  • svd

In addition to them, Wisol SDK has been created into the development/sigfox_cfg2 directory, including the following:

  • binary: Nordic softdevice including BLE stack with DFU over-the-air
  • documentation: Wisol manuals and application notes
  • source_bootloader_secure: source code for the bootloader (already flashed on the module)
  • source_xxx_example: different examples to use gps, sensors, wifi and sigfox
  • source_simplework_example: this is a more complete example. The application starts by broadcasting a BLE beacon. Then it scans WiFi band and sends BSSID with highest RSSI using Sigfox. Afterwards, if a GPS location has been detected it is also sent using Sigfox. This process is repeated every 10 minutes by default.

Keil projects are embedded into the SDK. We have added additional Makefiles to the different examples in order to compile with gcc.

Flashing the module

Wisol SDK includes Nordic tools and gcc-arm to compile and flash the code for Windows. Linux/macOS version has been added in tools/sfxtools_embedded.

Alt Alt

Go into the example directory to be flashed, ie source_sigfox_example:

Linux/macOS users

cd development/sigfox_cfg2/source/
make

mingw64 users

cd development/sigfox_cfg2/source/s132/armgcc
make

To flash the device via JLink/SWD:

make flash
or
make flashall

How to flash the application via DFU

how to download over FOTA

Debugging via JLink/SWD

To debug messages via SWD link, J-Link software must be installed first. For Windows, starts the program J-Link RTT Viewer with following parameters

Alt

Once connected, debug messages will be displayed in the terminal window.

The debug messages are printed with the function cPrintLog()

Alt

For Linux/macOS users, a shell script can directly be launched:

cd tools/scripts/
./JLinkRTT.sh

About

sigfox multi-mode module

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 50.5%
  • C++ 27.6%
  • C 16.2%
  • Roff 4.2%
  • Python 0.6%
  • Objective-C 0.5%
  • Other 0.4%