ST Contiki6LP, STM32 Cube Quick Start Manual

Page 1
Version 1.3 (December 10, 2018)
Quick Start Guide
Contiki OS and 6LoWPAN sub-1GHz RF communication software expansion for STM32 Cube (Contiki6LP)
Page 2
Quick Start Guide Contents
2
Contiki6LP: Contiki OS/6LoWPAN and sub-1GHz RF communication Hardware and Software overview
Setup & Demo Examples
Documents & Related Resources
STM32 Open Development Environment: Overview
12/18/2018
Page 3
Sub-1 GHz RF expansion boards based on SPIRIT1
Hardware overview
3
SPSGRF-868 or SPSGRF-915 (*)
Hardware description
The X-NUCLEO-IDS01A4, X-NUCLEO-
IDS01A5 are evaluation boards based on the SPIRIT1 RF modules SPSGRF-868 and SPSGRF-915
The SPIRIT1 module communicates with the
STM32 Nucleo developer board host microcontroller though an SPI link available on theArduino UNO R3 connector.
EEPROM
Arduino UNO R3 connector
Key products on board
SPSGRF
SPIRIT1 (Low data-rate, low-power sub-1GHz transceiver) module
M95640-RMC6TG
64-Kbit serial SPI bus EEPROM
Latest info available at www.st.com
X-NUCLEO-IDS01A4
X-NUCLEO-IDS01A5
(*) Identification of the operating frequency of the X-NUCLEO­IDS01Ax (x=4 or 5) is performed through two resistors (R14 and R15).
Page 4
Sub-1 GHz 868 MHz RF expansion board based on S2-LP
Hardware overview
4
S2-LP
Hardware description
The X-NUCLEO-S2868A1 evaluation board is based on the
S2-LP sub-1 GHz ultra-low power low data-rate transceiver.
The S2-LP IC communicates with the STM32 Nucleo
developer board host microcontroller though an SPI link available on the Arduino UNO R3 connector.
EEPROM
Arduino UNO R3 connector
Key products on board
S2LP
Ultra-low power, high performance, sub-1GHz transceiver
M95640-RMN6TP
64-Kbit serial SPI bus EEPROM
Latest info available at www.st.com
X-NUCLEO-S2868A1
Key features
Programmable RF output power up to +16 dBm
Modulation schemes: 2-FSK, 2-GFSK, 4-FSK, 4-GFSK, OOK
and ASK
Air data rate from 0.1 to 500 kbps
Ultra-low power consumption: 7 mA RX and 10 mA TX at +10
dBm
IEEE 802.15.4g hardware packet support with whitening, FEC,
CRC and dual SYNC word detection
RX and TX 128 byte FIFO buffers
Page 5
Contiki OS/6LoWPAN and sub-1GHz RF communication
Software Overview
5
Contiki6LP Software Description
Contiki6LP is a library implemented as a STM32Cube middleware ready to be integrated in projects based on STM32Cube and X-CUBE-SUBG1 expansion software. The expansion software is built on STM32Cube software technology for portability across different STM32 microcontrollers. The software includes examples for sending messages via UDP over 6LoWPAN, using the SPIRIT1/S2-LP sub-1GHz radio transceiver.
Key features
Middleware library with Contiki OS and Contiki
6LoWPAN protocol stack 3.x
Support for mesh networking technology by the means of the standard RPL protocol
Built-in support for STM32 L1 and F4 platforms
Example applications including UPD sender and
receiver, and border router
Examples available for NUCLEO-F401RE and
NUCLEO-L152RE
Easy portability across different MCU families, thanks to STM32Cube
Free, user-friendly license terms
Overall Software Architecture
X-CUBE-SUBG1
Latest info available at www.st.com
12/18/2018
Page 6
Quick Start Guide Contents
6
Contiki6LP: Contiki OS/6LoWPAN and sub-1GHz RF communication Hardware and Software overview
Setup & Demo Examples
Documents & Related Resources
STM32 Open Development Environment: Overview
12/18/2018
Page 7
Setup & Demo Examples
HW prerequisites
STM32 Nucleo development board
NUCLEO-L152RE or NUCLEO-F401RE
Sub-1GHz RF expansion board for STM32 Nucleo based on the Spirit 1 (X-NUCLEO-
IDS01A4) or S2LP-868 module (X-NUCLEO-S2868A1)
Windows/Linux PC
mini USB cable
NUCLEO-L152RE
X-NUCLEO-S2868A1
mini USB cable
X-NUCLEO-IDS01A4
NUCLEO-F401RE
12/18/2018
7
Page 8
Setup & Demo Examples
SW prerequisites
X-CUBE-SUBG1 package
Download and extract the X-CUBE-SUBG1 package, version 3.0.0 or higher
A toolchain to build the firmware
The Contiki6LP library has been developed and tested with
IAR Embedded Workbench for ARM® (EWARM) toolchain + ST-Link
RealView Microcontroller Development Kit (MDK-ARM) toolchain + ST-LINK
System Workbench for STM32 (SW4STM32) + ST-LINK (*)
Serial line monitor e.g. Termite (Windows), or Minicom (Linux)
(*) For Linux users: System Workbench for STM32 (SW4STM32) is the only supported IDE
12/18/2018
8
Page 9
Demo Execution Using SPSGRF (SPIRIT1)
12/18/2018
Page 10
Contiki6LP
Start coding in just a few minutes with Contiki6LP
10
Download and unpack
X-CUBE-SUBG1
Go to www.st.com/x-nucleo
Open project example
e.g. Udp-sender
1
2
3
4
5
Select X-NUCLEO-IDS01Ax
6
Select the SPIRIT1 radio configuration And then build and flash the application code.
Download & install STM32
Nucleo ST-LINK/V2-1 USB driver
Documentation Drivers and BSP Contiki OS and 6LoWPAN stack
Application examples
X-CUBE-SUBG1 package
12/18/2018
Page 11
Demo Overview – UDP Sender and Receiver
6LoWPAN Udp-receiver node
NUCLEO-L152RE or NUCLEO-F401RE
X-NUCLEO-IDS01A4 or X-NUCLEO-IDS01A5
Host PC
with a terminal
Utility
6LoWPAN Udp-sender node
NUCLEO-L152RE or NUCLEO-F401RE
X-NUCLEO-IDS01A4 or X-NUCLEO-IDS01A5
UDP
Messages
USB1
USB2
12/18/2018
11
Page 12
UDP Sender and Receiver examples in a few steps (1/2)
Download and extract X-CUBE-SUBG1
1
Compile the firmware for the UDP Receiver node:
Select the “Udp-receiverapplication and build the
Project using a supported IDE. Alternatively you can
use a pre-built binary that is provided for running this
application with the selected STM32 Nucleo board
2
3
Connect the STM32 Nucleo based kit
acting as a “UDP Receiver” to a
PC USB slot and program the device
Copy the binary file
(e.g. drag & drop) to the USB mass storage
corresponding to the STM32 Nucleo board
4
Compile the firmware for the UDP sender node:
Select the “Udp-senderapplication and build the
Project using a supported IDE. Alternatively you can
use a pre-built binary that is provided for running
this application with the selected STM32 Nucleo
board
5
copy the file (e.g. drag & drop) to the USB mass storage corresponding to the STM32 Nucleo board
Connect the STM32 Nucleo based kit
acting as a “UDP Sender” to a
PC USB slot and program the device
12/18/2018
12
Page 13
UDP Sender and Receiver
examples in a few steps (2/2)
Launch the terminal application
and set the UART port to
115200 bps, 8 bit, No Parity, 1 stop bit
Select the device corresponding to the UDP sender node (e.g. on a Linux host, it will be a ttyACMx device type)
The terminal should be printing something like
8
If everything has been done correctly, the output in the terminal should now be something similar to this:
Repeat step 6-8 for the project Udp-receiver
(remember to open a new
terminal window): The received UDP messages are shown
6
7
9
Udp-receiver window
Udp-sender window
Udp-sender window
12/18/2018
13
Page 14
Demo Overview – Border Router Example
6LoWPAN Border Router
STM32 Nucleo board with the
X-NUCLEO-IDS01A4/5
Wireless Node
STM32 Nucleo board with the
X-NUCLEO-IDS01A4/5
IPv6 Host PC
IPv6/6LoWPAN
Network
Ping request
Ping reply
12/18/2018
14
Page 15
Border Router Example in a few steps (1/3)
1
Compile the firmware for a wireless node:
Select the “Udp-sender” application and build the
Project using a supported IDE. Alternatively you can use
a pre-built binary that is provided for running this
application with the selected STM32 Nucleo board
2
3
Connect the board to a
PC USB slot and program the device
Copy the binary file (e.g. drag & drop) to the USB mass storage corresponding to the STM32 Nucleo board
4
Compile the firmware for the border router node:
Select the Border-router” application and build
the Project using a supported IDE. Alternatively
you can use a pre-built binary that is provided
for running this application with the selected
STM32 Nucleo board
5
Connect the board to USB and
program the device
copy the file (e.g. drag & drop) to the USB mass storage corresponding to the STM32 Nucleo board
Download and extract X-CUBE-SUBG1
12/18/2018
15
Page 16
Border Router Example
in a few steps (2/3)
cd ./tools
make tunslip6
sudo ./tunslip6 –s /dev/ttyACMx aaaa::1/64
Tunslip6 terminal window output
Linux PC setup (Ubuntu)
using “tunslip6” utility
Windows PC setup (Win 7/8)
using “wpcapslip6” utility
Setup the IPv6 Host PC for IP traffic bridging between host and 6LowPAN border Router
6
1. wpcapslip6 needs a working network adapter:
The Microsoft loopback adapter can be installed via “Add legacy
hardware” in the Windows Device Manager (reboot is needed after
installation of the loopback adapter)
2. Copy “cygwin1.dll” from “tools/cygwin” to wcapslip6 folder
3. Install WinPcaP
4. run Cygwin as administrator
wpcapslip6 utility can then be used with the rpl-border-router example
cd ./tools/stm32w/wpcapslip6
./wpcapslip6 –s /dev/ttySz –b aaaa:: -a aaaa::1/128 [addr]
Where [addr] is the MAC address of the local net adapter
Contiki server address (used in the next step)
OR
wpcapslip6 terminal window output
12/18/2018
16
From: [ROOT]/Middlewares/Third_Party/Contiki
ttySz / ttyACMx depends on the device enumeration, you can use tab auto completion under both Linux and Cygwin
Page 17
Border Router Example
in a few steps (3/3)
Open a Web browser (Firefox) to access the Contiki server providing the RPL neighbors and routes information.
7
8
Ping the wireless Node to test the 6LoWPAN connectivity
[Linux:] ping6 aaaa::a00:f7ff:b9bc:4643
[Windows:] ping -6 aaaa::a00:f7ff:b9bc:4643
Contiki server address (see previous step) between brackets, e.g. [aaaa::800:f5ff:eb3a:14c5]
12/18/2018
17
Page 18
Demo Overview – Serial Sniffer Example
Serial Sniffer
STM32 Nucleo board with the
X-NUCLEO-IDS01A4/5
Wireless Nodes
STM32 Nucleo boards with the
X-NUCLEO-IDS01A4/5
PC running
Wireshark
IPv6/6LoWPAN
Network
12/18/2018
18
Page 19
Serial Sniffer Example in a few steps (1/3)
1
2
3
Connect the board to a
PC USB slot and program the device
Copy the binary file (e.g. drag & drop) to the USB mass storage corresponding to the STM32 Nucleo board
4
A pre-requisite to use the Serial Sniffer is a
running 6LoWPAN network, you can refer to the
example UDP Sender and Receiver described
in previous slides, i.e. select “Udp-sender” and
Udp-receiver” applications and build the
Projects using a supported IDE. Alternatively
you can use the pre-built binaries that are
provided for running these applications with the
selected STM32 Nucleo board
5
Connect the board to USB and
program the device (repeat this for both firmwares)
copy the file (e.g. drag & drop) to the USB mass storage corresponding to the STM32 Nucleo board
Download and extract X-CUBE-SUBG1
12/18/2018
19
Compile the firmware for the Serial Sniffer:
Select the Serial-snifferapplication and build the
Project using a supported IDE. Alternatively you can use
a pre-built binary that is provided for running this
application with the selected STM32 Nucleo board
Page 20
Serial Sniffer Example
in a few steps (2/3)
> sudo serialdump-linux -b115200 /dev/ttyACMx | ./convert-to-binary | wireshark -k -i -
Linux PC setup (Ubuntu)
using “serialdump-linux” utility
1. run Cygwin as administrator
2. serialdup-windows.exe utility is provided pre-compiled, but in
case you need to recompile it:
cd serialdump-src
make
(or gcc –o serialdump-windows.exe serialdump.c)
mv serialdump-windows.exe ..
3. Run the following command chain (it is ONE line of three
commands in pipe “|” one with the next one)
12/18/2018
20
Windows PC setup (Win 7/8)
using “serialdump-windows.exe” utility
Setup the PC
running Wireshark application
6
From: [ROOT]/Utilities/serial-sniffer
OR
> serialdump-windows.exe -b115200 /dev/ttySz | ./convert-to-binary | wireshark.exe -k –i -
1. serialdump-linux utility has to be compiled:
cd serialdump-src
make
(or gcc –o serialdump-linux serialdump.c)
mv serialdump-linux ..
2. Run the following command chain (it is ONE line of three
commands in pipe “|” one with the next one)
NOTES:
Mind the trailing dash (-), it is mandatory, not a typo! The ttySz / ttyACMx numbers depends on the device enumeration of the Nucleo board running the Serial-sniffer firmware, you can
use tab auto completion under both Linux and Cygwin
It is mandatory to invoke the above commands from the “serial-sniffer” folder (actually, the “header.pcap” file is supposed to be in
the same folder of the “convert-to-binary” script)
Perl is needed in order for the “convert-to-binaryscript to work
You can install it either via Cygwin setup or your Linux Package Manager
Wireshark application is required, a recent version it is recommended in order to have state of the art protocols dissectors
In the above commands, Wireshark is supposed to be in System’s Shell PATH, if it is not the case you must provide the full
command path or create a proper link
Under Windows, if you need to use the full path for wireshark.exe and this contains spaces, use '' as escape char before spaces and parenthesis
Serial-sniffer firmware must be compiled with the same radio (channel, modulation, …) settings as the network under investigation Under Windows you may need to hardcode the baudrate (115200) in the serialdump.c code and recompile
Page 21
Serial Sniffer Example
in a few steps (3/3)
Wireshark application should be running, packets seen on the air can be analyzed and saved
7
12/18/2018
21
Page 22
Demo Execution Using S2-LP
12/18/2018
Page 23
Contiki6LP
Start coding in just a few minutes with Contiki6LP
23
Download and unpack
X-CUBE-SUBG1
Go to www.st.com/x-nucleo
Open project example
e.g. Udp-sender
1
2
3
4
5
6
Select the S2-LP radio configuration And then build and flash the application code.
Download & install STM32
Nucleo ST-LINK/V2-1 USB driver
Documentation Drivers and BSP Contiki OS and 6LoWPAN stack
Application examples
X-CUBE-SUBG1 package
12/18/2018
Select X-NUCLEO-S2868A1
Page 24
Demo Overview – UDP Sender and Receiver
6LoWPAN Udp-receiver node
NUCLEO-L152RE or NUCLEO-F401RE
X-NUCLEO-S2868A1 or X-NUCLEO-S2915A1
Host PC
with a terminal
Utility
6LoWPAN Udp-sender node
NUCLEO-L152RE or NUCLEO-F401RE
X-NUCLEO-S2868A1 or X-NUCLEO-S2915A1
UDP
Messages
USB1
USB2
12/18/2018
24
Page 25
UDP Sender and Receiver – S2LP examples in a few steps (1/2)
Download and extract X-CUBE-SUBG1
1
Compile the firmware for the UDP Receiver node:
Select the “Udp-receiverapplication and build the
Project using a supported IDE. Alternatively you can
use a pre-built binary that is provided for running this
application with the selected STM32 Nucleo board
2
3
Connect the STM32 Nucleo based kit
acting as a “UDP Receiver” to a
PC USB slot and program the device
Copy the binary file
(e.g. drag & drop) to the USB mass storage
corresponding to the STM32 Nucleo board
4
Compile the firmware for the UDP sender node:
Select the “Udp-senderapplication and build the
Project using a supported IDE. Alternatively you can
use a pre-built binary that is provided for running
this application with the selected STM32 Nucleo
board
5
copy the file (e.g. drag & drop) to the USB mass storage corresponding to the STM32 Nucleo board
Connect the STM32 Nucleo based kit
acting as a “UDP Sender” to a
PC USB slot and program the device
12/18/2018
25
Page 26
UDP Sender and Receiver
examples in a few steps (2/2)
Launch the terminal application
and set the UART port to
115200 bps, 8 bit, No Parity, 1 stop bit
Select the device corresponding to the UDP sender node (e.g. on a Linux host, it will be a ttyACMx device type)
The terminal should be printing something like
8
If everything has been done correctly, the output in the terminal should now be something similar to this:
Repeat step 6-8 for the project Udp-receiver (remember to open a new terminal window): The received UDP messages are shown
6
7
9
Udp-sender windowUdp-receiver window
Udp-sender window
12/18/2018
26
Page 27
Demo Overview – Low Power features
12/18/2018
27
When using NUCLEO-L152RE and X­NUCLEO-S2868A1 Low Power features are available for both MCU and Radio.
The following settings are enabled by default on Udp-sender and Udp-receiver applications:
MCU System Clock is set to 4 MHz
MCU is sent to SLEEP mode (with reduced
clock to 65 KHz) when in idle loop
Radio uses SNIFF mode Compared to Normal Mode, these settings ensure the same functionalities but with almost 1/20 of the current consumption in idle.
By pressing the User Button, it is possible to cycle through two Application Level Duty Cycle that are implemented as a demo in the Udp­sender firmware. The idea is to demonstrate
that it is also possible to switch “off” (actually,
set to a very low consumption state) both MCU and Radio for a given period. The node is then waken up by a timer, sends the next message
and goes back to STOP mode.
In the “Probing” Duty Cycle, the Radio is turned
on only if there is something to send (in the demo, this happens every two periods).
The Duty Cycle phase is reported with a character in the message sent by the Udp­sender, and can be checked on the Udp-
receiver console.
Udp-receiver window
Udp-sender window
Page 28
Demo Overview – Border Router Example
6LoWPAN Border Router
STM32 Nucleo board with the
X-NUCLEO-S2868A1
Wireless Node
STM32 Nucleo board with the
X-NUCLEO-S2868A1
IPv6 Host PC
IPv6/6LoWPAN
Network
Ping request
Ping reply
12/18/2018
28
Page 29
Border Router For S2-LP Example in a few steps (1/3)
1
Compile the firmware for a wireless node:
Select the “Udp-sender” application and build the
Project using a supported IDE. Alternatively you can use
a pre-built binary that is provided for running this
application with the selected STM32 Nucleo board
2
3
Connect the board to a
PC USB slot and program the device
Copy the binary file (e.g. drag & drop) to the USB mass storage corresponding to the STM32 Nucleo board
4
Compile the firmware for the border router node:
Select the Border-router” application and build
the Project using a supported IDE. Alternatively
you can use a pre-built binary that is provided
for running this application with the selected
STM32 Nucleo board
5
copy the file (e.g. drag & drop) to the USB mass storage corresponding to the STM32 Nucleo board
Download and extract X-CUBE-SUBG1
Connect the board to USB and
program the device
12/18/2018
29
Page 30
Border Router Example
in a few steps (2/3)
cd ./tools
make tunslip6
sudo ./tunslip6 –s /dev/ttyACMx aaaa::1/64
Tunslip6 terminal window output
Linux PC setup (Ubuntu)
using “tunslip6” utility
Windows PC setup (Win 7/8)
using “wpcapslip6” utility
Setup the IPv6 Host PC for IP traffic bridging between host and 6LowPAN border Router
6
1. wpcapslip6 needs a working network adapter:
The Microsoft loopback adapter can be installed via “Add legacy
hardware” in the Windows Device Manager (reboot is needed after
installation of the loopback adapter)
2. Copy “cygwin1.dll” from “tools/cygwin” to wcapslip6 folder
3. Install WinPcaP
4. run Cygwin as administrator
wpcapslip6 utility can then be used with the rpl-border-router example
cd ./tools/stm32w/wpcapslip6
./wpcapslip6 –s /dev/ttySz –b aaaa:: -a aaaa::1/128 [addr]
Where [addr] is the MAC address of the local net adapter
Contiki server address (used in the next step)
OR
wpcapslip6 terminal window output
12/18/2018
30
From: [ROOT]/Middlewares/Third_Party/Contiki
ttySz / ttyACMx depends on the device enumeration, you can use tab auto completion under both Linux and Cygwin
Page 31
Border Router Example
in a few steps (3/3)
Open a Web browser (Firefox) to access the
Contiki server
providing the RPL neighbors and routes
information.
7
8
Ping the wireless Node to test the 6LoWPAN connectivity
Contiki server address (see previous step) between brackets, e.g. [aaaa::800:f5ff:eb3a:14c5]
12/18/2018
31
[Linux:] ping6 aaaa::a00:f7ff:b9bc:4643
[Windows:] ping -6 aaaa::a00:f7ff:b9bc:4643
Page 32
Demo Overview – Serial Sniffer Example
Serial Sniffer
STM32 Nucleo board with the
X-NUCLEO-S2868A1
Wireless Nodes
STM32 Nucleo boards with the
X-NUCLEO-S2868A1
PC running
Wireshark
IPv6/6LoWPAN
Network
12/18/2018
32
Page 33
Serial Sniffer Example in a few steps (1/3)
1
2
3
Connect the board to a
PC USB slot and program the device
Copy the binary file (e.g. drag & drop) to the USB mass storage corresponding to the STM32 Nucleo board
4
A pre-requisite to use the Serial Sniffer is a
running 6LoWPAN network, you can refer to the
example UDP Sender and Receiver described
in previous slides, i.e. select “Udp-sender” and
Udp-receiver” applications and build the
Projects using a supported IDE. Alternatively
you can use the pre-built binaries that are
provided for running these applications with the
selected STM32 Nucleo board
5
Connect the board to USB and
program the device (repeat this for both firmwares)
copy the file (e.g. drag & drop) to the USB mass storage corresponding to the STM32 Nucleo board
Download and extract X-CUBE-SUBG1
12/18/2018
33
Compile the firmware for the Serial Sniffer:
Select the Serial-snifferapplication and build the
Project using a supported IDE. Alternatively you can use
a pre-built binary that is provided for running this
application with the selected STM32 Nucleo board
Page 34
Serial Sniffer Example
in a few steps (2/3)
> sudo serialdump-linux -b115200 /dev/ttyACMx | ./convert-to-binary | wireshark -k -i -
Linux PC setup (Ubuntu)
using “serialdump-linux” utility
1. run Cygwin as administrator
2. serialdup-windows.exe utility is provided pre-compiled, but in
case you need to recompile it:
cd serialdump-src
make
(or gcc –o serialdump-windows.exe serialdump.c)
mv serialdump-windows.exe ..
3. Run the following command chain (it is ONE line of three
commands in pipe “|” one with the next one)
12/18/2018
34
Windows PC setup (Win 7/8)
using “serialdump-windows.exe” utility
Setup the PC
running Wireshark application
6
From: [ROOT]/Utilities/serial-sniffer
OR
> serialdump-windows.exe -b115200 /dev/ttySz | ./convert-to-binary | wireshark.exe -k –i -
1. serialdump-linux utility has to be compiled:
cd serialdump-src
make
(or gcc –o serialdump-linux serialdump.c)
mv serialdump-linux ..
2. Run the following command chain (it is ONE line of three
commands in pipe “|” one with the next one)
NOTES:
Mind the trailing dash (-), it is mandatory, not a typo! The ttySz / ttyACMx numbers depends on the device enumeration of the Nucleo board running the Serial-sniffer firmware, you can
use tab auto completion under both Linux and Cygwin
It is mandatory to invoke the above commands from the “serial-sniffer” folder (actually, the “header.pcap” file is supposed to be in
the same folder of the “convert-to-binary” script)
Perl is needed in order for the “convert-to-binaryscript to work
You can install it either via Cygwin setup or your Linux Package Manager
Wireshark application is required, a recent version it is recommended in order to have state of the art protocols dissectors
In the above commands, Wireshark is supposed to be in System’s Shell PATH, if it is not the case you must provide the full
command path or create a proper link
Under Windows, if you need to use the full path for wireshark.exe and this contains spaces, use '' as escape char before spaces and parenthesis
Serial-sniffer firmware must be compiled with the same radio (channel, modulation, …) settings as the network under investigation Under Windows you may need to hardcode the baudrate (115200) in the serialdump.c code and recompile
Page 35
Serial Sniffer Example
in a few steps (3/3)
Wireshark application should be running, packets seen on the air can be analyzed and saved
7
12/18/2018
35
Page 36
Documents & Related Resources
X-CUBE-SUBG1:
DB2556: Sub-1 GHz RF communication software expansion for STM32Cube – data brief
UM1904: Getting started with the software package for Point-to-Point communications using SPIRIT1 sub-1GHz modules in X-CUBE-
SUBG1, Expansion for STM32Cube – user manual
UM2040: Getting started with Contiki6LP, Contiki OS and 6LoWPAN sub-1GHz RF communications software expansion for STM32Cube
user manual
X-NUCLEO-IDS01A4:
Gerber files, BOM, Schematic
DB2552: Sub-1 GHz RF expansion board based on the SPSGRF-868 module for STM32 Nucleo – data brief
UM1872: Getting started with the Sub-1 GHz expansion board based on SPSGRF-868 and SPSGRF-915 modules for STM32 Nucleo –
user manual
X-NUCLEO-IDS01A5:
Gerber files, BOM, Schematic
DB2553: Sub-1 GHz RF expansion board based on SPSGRF-915 module for STM32 Nucleo – data brief
UM1872: Getting started with the Sub-1 GHz expansion board based on SPSGRF-868 and SPSGRF-915 modules for STM32 Nucleo –
user manual
X-NUCLEO-S2868A1 :
Gerber files, BOM, Schematic
DB3602: Sub-1 GHz RF expansion board based on S2-LP radio for STM32 Nucleo – data brief
UM2405: Getting started with the X-NUCLEO-S2868A1 Sub-1 GHz 868 MHz RF expansion board based on S2-LP radio for STM32
Nucleo
All documents are available in the DESIGN tab of the related products webpage
Consult www.st.com for the complete list
12/18/2018
36
Page 37
Quick Start Guide Contents
Contiki6LP: Contiki OS/6LoWPAN and sub-1GHz RF communication Hardware and Software overview
Setup & Demo Examples
Documents & Related Resources
STM32 Open Development Environment: Overview
12/18/2018
37
Page 38
STM32 Open Development Environment
Fast, affordable Prototyping and Development
The STM32 Open Development Environment (ODE) consists of a set of stackable boards
and a modular open SW environment designed around the STM32 microcontroller family.
www.st.com/stm32ode
Function Packs
(FP)
STM32Cube
development software
STM32 Nucleo
expansion boards
(X-NUCLEO)
STM32 Nucleo
development boards
STM32Cube
expansion software
(X-CUBE)
12/18/2018
38
Page 39
Power supply
through USB or external source
Integrated debugging
and programming
ST -LINK probe
STM32 microcontroller
Complete product range
from ultra-low power to high-performance
ST morpho extension header
STM32 Nucleo
Development Boards (NUCLEO)
A comprehensive range of affordable development boards for all the STM32
microcontroller series, with unlimited unified expansion capabilities and integrated debugger/programmer functionality.
www.st.com/stm32nucleo
Arduino™ UNO R3 extension headers
12/18/2018
39
Page 40
Move/ActuatePower InteractConnect
Sense
STM32 Nucleo
Expansion Boards (X-NUCLEO)
Boards with additional functionality that can be plugged directly on top of the STM32
Nucleo development board directly or stacked on another expansion board.
40
DIL24 support for
new devices
Motion MEMS sensors
Environmental sensors
www.st.com/x-nucleo
Example of STM32 expansion board (X-NUCLEO-IKS01A1)
12/18/2018
Page 41
STM32 Open Development Environment
Software components
STM32Cube software (CUBE) - A set
of free tools and embedded software bricks to enable fast and easy development on the STM32, including a Hardware Abstraction Layer and middleware bricks.
STM32Cube expansion software
(X-CUBE) - Expansion software provided
free for use with the STM32 Nucleo expansion board and fully compatible with the STM32Cube software framework. It provides abstracted access to expansion board functionality through high-level APIs and sample applications.
41
www.st.com/x-cube
Compatibility with multiple Development Environments - The STM32 Open Development
Environment is compatible with a number of IDEs including IAR EWARM, Keil MDK, and GCC-based environments. Users can choose from three IDEs from leading vendors, which are free of charge and deployed in close cooperation with ST. These include Eclipse-based IDEs such as Ac6 System Workbench for STM32 and the MDK-ARM environment.
Tools&IDEs
Applicationexamples
(e.g.basedon ST OpenSoftwareX)
Hardware
SampleapplicationsApplications
IAREWARM,KeilMDK-ARM,GCC-basedIDEs
(e.g.Ac6SystemWorkbenchfor STM32)
STM32CubeHardware AbstractionLayer(HAL)
STM32Cube middleware
Upperlevelmiddleware
(e.g.ST OpenSoftwareX)
Middleware
Hardware Abstraction
STM32Cubeexpansionmiddleware
STM32 Nucleo expansion boards (X-NUCLEO)
STM32 Nucleo developer boards
OPEN LICENSE MODELS: STM32Cube software and sample applications are covered by a
mix of fully open source BSD license and ST licenses with very permissive terms.
www.st.com/stm32cube
12/18/2018
Page 42
STM32 Open Development Environment
Building block approach
42
The building blocks Your need Our answer
Move /
Actuate
Connect
Power
Sense
Process
Inertial modules, magnetometer
Proximity, microphone
Pressure, temperature, humidity
Bluetooth LE, Sub-GHz radio
NFC, Wi-Fi, GNSS
Energy management & battery
General-purpose microcontrollers
Stepper motor driver
DC & BLDC motor driver
Audio amplifier
COLLECT
TRANSMIT
ACCESS
CREATE
POWER
PROCESS
Software
Secure microcontrollers
Touch controller
Operation Amplifier
Accelerometer, gyroscope
Translate
Industrial input / output
www.st.com/stm32ode
12/18/2018
Loading...