IoT Sensing Software Development Kit (ISSDK): Embedded Software Framework

Plug It In!

1.1 Select a Sensor Demonstration Kit

  • Go to Sensor Evaluation Boards and select the desired Demonstration Kit
  • Take FRDM-K64-AGM01 Demonstration Kit as an example

1.2 Plug it in

Connect the Sensor Demonstration Kit to the PC via the USB cable between the OpenSDA USB port on the board and the USB connector on the PC.

1.3 OpenSDA

Kinetis Freedom MCU boards are supplied with OpenSDA firmware pre-loaded.
For a smooth ‘Out of Box Sensor Demonstration’ with STB-CE, make sure that the latest version of the default OpenSDA bootloader and Firmware application is on the Freedom development board. This allows debugging, flash programming and serial communication over a USB cable.

The default OpenSDA firmware for all Freedom based sensor demonstration kits used with STB-CE are as follows:

  • DAPLink: FRDM-K22F, FRDM-K64F, FRDM-KW41Z, FRDM-KE15Z, RD-KL25-AGMP01
  • PEMicro: FRDM-KL25Z, FRDM-KL27Z

Obtain the latest OpenSDA drivers for FRDM boards from the link below.

Locate the section "Download – OpenSDA Bootloader and Application" and select your FRDM Board from the dropdown list. Strictly follow the provided instructions to program the board.

For Windows 10 systems, the older versions of the OpenSDA drivers could get corrupted when the board is plugged on a Windows 10 machine. As a result, many boards might get not detected as an MSD or a COM port on Win 10. The latest versions of the OpenSDA software are compatible with Windows 10 and can be obtained from the link above. The current FRDM-K64F, FRDM-K22F, FRDM-KL25Z and RD-KL25-AGMP01 boards come with an older version of OpenSDA drivers from the factory and require a mandatory OpenSDA update.

1.4 PC Configuration

The output data from the provided example applications is provided over the MCU UART. This requires that the driver for the board’s virtual COM port is installed on the PC. The board MUST be plugged into the PC before the driver installer is run.

If you have not installed already an ARM IDE toolchain, download and Install the Windows drivers corresponding to the default OpenSDA Application selected above:

Once the Windows Serial Port Drivers are installed on the PC, determine the port number of the board’s virtual COM port by opening the device manager and looking under the "Ports" group.

The demonstration kit is now ready to communicate with the PC.

Get Software

2.1 Go to MCUXpresso Configuration Tools

Available in both online and desktop editions, MCUXpresso Config Tools creates a custom SDK for Kinetis, LPC and i.MXRT microcontrollers.

Go to MCUXpresso Configuration Tools

Click on New Configuration

2.2 Create a new configuration

Select the Sensor Demonstration Kit as shown below. For this example, the FRDM-K64-AGM01 Demonstration Kit is selected.

ISSDK Configuration Settings

Choose the Operating System for the desired host, the IDE toolchain, and any other Optional Middleware. For this example, as depicted, Windows, MCUXpresso IDE and ISSDK middleware is selected.

ISSDK must be one of the Optional Middleware selections to develop an embedded sensor application. ISSDK provides the complete framework for sensor application development.

Now, click on Download SDK.

2.3 Build the SDK for the demonstration kit

ISSDK SDK Builder

Click on Request Build. This builds the SDK package for the demonstration kit. A request is sent to the build server. Requests for SDK packages are served in the order they are received. Notification is provided when the package is ready. The package is provided as a zip file. When notified, download the package (zip file) to the local PC.

2.4 Install the toolchain

NXP offers a complimentary toolchain called MCUXpresso IDE.


Want to use a different toolchain?

No problem! The MCUXpresso SDK includes support for other tools such as IAR, Keil and command-line GCC.

2.5 Install visualization applications to view/analyze sensor output

The sensor output of ISSDK example applications can be directly visualized on terminal applications like RealTerm, Tera Term, or Putty. Download here:

ISSDK also enables sensor visualization and data analysis on the Freedom Sensor Toolbox- Community Edition (STB-CE). Download here:

Build, Run

3.1 Explore the SDK package

3.1.1 Unzip the downloaded package

ISSDK Downloaded Package

3.1.2 Find the ISSDK example sensor applications

The CMSIS, devices, docs, rtos, and tools directories are unchanged from the standard KSDK deployments. The ISSDK folder appears as frdmk64_agm01 in the /boards directory.

ISSDK Boards Directory

As shown above, ISSDK provides example applications for the FXAS21002 and FXOS8700 sensors. In addition, ISSDK includes algorithms such as Pedometer and Sensor Fusion. These sensor applications are ready to build and run with the FRDM-K64F-AGM01 Demonstration Kit.

Note: In addition, a new middleware folder for ISSDK is created containing the ISSDK drivers, algorithms and other support files as follows:

ISSDK Middleware folder

3.2 Build and run ISSDK exampless

If one or more of the demo applications sounds interesting, you're probably wanting to know how you can build and run yourself. Let us take "fxas21002_interrupt" out-of-box example available as part of the downloaded SDK package and try running it with our chosen IDE: MCUXpresso.

3.2.1 Install the downloaded FRDM-K64F-AGM01 SDK package into MCUXpresso IDE (Simply drag & drop the zipped SDK package as it is to the “Installed SDKs” view).

ISSDK Project KDS

Once the SDK installation is completed, click on ‘Import SDK examples’.

3.2.2 In the SDK import wizard, chose FRDM-K64F-AGM01 demo kit as the available board for your project.

ISSDK Project KDS

3.2.3 Import any existing ISSDK example from the list of available projects. We have chosen the fxas21002_interrupt example:

ISSDK Import Projects

Note: Once, the ISSDK example is imported successfully, the MCUXpresso IDE automatically creates the corresponding standalone project in your workspace.

3.2.4 Build/Run the imported project, loading the firmware to FRDM-K64F-AGM01 kit.

ISSDK Build/Run imported project

For the firmware to be loaded successfully, review Steps 1.3 and 1.4 to be sure that the MCU board has the latest OpenSDA FW and the PC has the appropriate Windows Serial Drivers.

The MCU board is now programmed and is ready to output FXAS21002 sensor data.

3.3 View the output

Terminal applications, such as Realterm, TeraTerm, or Putty, can be used to view the sensor output from the board. Refer to the readme.txt file in your workspace (standalone project) to configure the serial terminal correctly for successful communication with the Demonstration Kit. When the demonstration runs successfully, gyroscope output samples can be seen on the terminal window.

ISSDK Demo running

Create

4.1 The MCUXpresso IDE creates a standalone project folder (size < 5 MB) for the chosen project under your workspace folder:

ISSDK Project Package

4.2 Success! Now start embedded application development

Open the project from the folder with the desired IDE and start developing a custom application.