As of 2017-10, if you don´t get a confirmation for participating in a free German STMicroelectronics workshop,
Call by phone the German office “STMicroelectronics GmbH, Bahnhofstraße 18, D-85609 Aschheim, +49 89 460060” and negociate, that you may send your confirmation wish by E-Mail to reception.munich@st.com.
STMicroelectronics "STSW-LINK009" - “ST-LINK, ST-LINK/V2, ST-LINK/V2-1 USB driver signed for Windows7, Windows8, Windows10”. Current version of ST-Link USB drivers in 2016-10.
STM32CubeMX, a configuration tool for any STM32 device. This easy-to-use graphical user interface generates initialization C code for Cortex-M cores and generates the Linux device tree source for Cortex-A cores.
STM32CubeIDE, an Integrated Development Environment. Based on open-source solutions like Eclipse or the GNU C/C++ toolchain, this IDE includes compilation reporting features and advanced debug features. It also integrate additional features present in other tools from the ecosystem, such as the HW and SW initilialization and code generation from STM32CubeMX.
STM32CubeProgrammer, a programming tool. It provides an easy-to-use and efficient environment for reading, writing and verifying devices and external memories via a wide variety of available communication media (JTAG, SWD, UART, USB DFU, I2C, SPI, CAN, etc.).
STM32CubeMonitor family of tools. Powerful monitoring tools that help developers fine-tune the behavior and performance of their applications in real time.
Packages:
STM32Cube MCU and MPU packages, dedicated to each STM32 series. Packages offer all the required embedded software bricks to operate the available set of STM32 peripherals. They include drivers (HAL, low-layer, etc.), middleware, and lots of example code used in a wide variety of real-world use cases.
STM32Cube expansion packages, for application-oriented solutions. Complementing and expanding the STM32Cube MCU Package offer with additional embedded software bricks, STM32 expansion packages come either from ST or approved partners to create an extensive and scalable embedded software offer around the STM32.
The generated code for TrueSTUDIO SW4SM32 and is for GNU C/C++ compiler. I was told by experts that the generated code may be compiled with the OpenSource IDE “Em::Blocks” → See ARM Embedded Systems ( ARM7, ARM8, ARM9, ARM11, Cortex ). How to proceed:
Set the right target ( “Project / Settings / Project / Toolchain/IDE” ) - “TrueSTUDIO” or “SW4STM32”.
Let STM32CubeMX generate the code ( “Project / Generate Code” ).
Create an empty “Em::Blocks” project.
Delete files and directories:
Delete the directories of the “Em::Blocks” project.
cmsis.
incl.
SPL.
src.
Delete the two GNU linker scripts ( “*.ld” ) of the root directory of the “Em::Blocks” project.
Copy files and directories:
Copy the directories of the code generated by STM32Cube to the “Em::Blocks” project directory:
Drivers.
Inc.
Src.
Copy the GNU linker script, e.g. “TrueSTUDIO\gpio\STM32F429ZI_FLASH.ld” of the STM32CubeMX project to the root of the of the empty “Em::Blocks” project.
Delete files and directories:
Delete the directories of the the “Em::Blocks” project:
If you include these files by error in your project, you will get the error message “Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f427xx.s:1: Error: junk at end of line, first unrecognized character is `*'” , as the GCC Assembler just support C/C++ style comments ( ”/ /” and ”/* .. */” ), but not the traditional Assembly comment style ”;”.
Right-mouseclick “Add files recursively”, “Multiple Selection” → (ok), “Select the targets this file should belong to” → (ok).
At “Drivers / CMSIS / Device / STM32F4xx / Source / Templates / gnu”, exclude all files with the exception of the proper startup file ( e.g. “startup_st32f427xx.s” from the project, by marking the files, mouse-rightclick “Remove files from project”.
Exclude the file “Drivers / STM32F4xx_HAL_Driver / Src / stm32f4xx_hal_msp_template.c” from the project - “This file contains the HAL System and Peripheral (PPP) MSP initialization and de-initialization functions. It should be copied to the application folder and renamed into 'stm32f4xx_hal_msp.c'”.
If you fail, you will get the error message “Src/stm32f4xx_hal_msp.c:45: multiple definition of 'HAL_MspInit'”
At “Project / Build options / Compiler settings / #defines” add the symbol name for your MCU, e.g “STM32F429xx”, as suggested in the file “Drivers / CMSIS / Device / ST / STM32F4xx / Include / stm32f4xx.h”. If you fail, the compilation breaks by the error message '#error “Please select first the target STM32F4xx device used in your application (in stm32f4xx.h file)”'.
Tips & tricks:
There are two kind of “*.ioc” files:
The original “*.ioc” one is that which contains the ST32Cube project. In the root of each created code export directory, another “*.ioc” file is stored.
With the original “*.ioc” file, you may set a path to export code.
With the exported “*.ioc” files, this option is grayed.
Loading the exported “*.ioc” file and republishing code by “Project / Generate Code” is not suggested ( neither for another target compiler, nor for the same target compiler ). If you republish a second ”.iot” file for with SW4SM32, the code still compiles successfully, but the project configuration information is corrupt:
In the debug configuration settings, you can´t set the name of the project anymore - the “current” project is not offered as choice.
By this, the transfer to the target by the GDB debugger fails by an error message of the GDB debugger.
Minimum project configuration by STM32Cube:
“Sys / Debug” option with “Serial Wire Debug (SWD)” - If you forget, you won´t be able to debug the software.
“Project / Settings / Code Generator / HAL Settings” - ”[ ] Set all free pins analog (to optimize the power consumption)”.
There are 2 reporting options:
“Project / Generate Report” generates a PDF.
“Pinout / Generate CSV pinout text file”.
To use the “High Speed External” ( HSE ) clock, you just define a pin at “Reset & Clock Control” ( RCC ).
“GPIO Maximum Output Speed” ( STM term ) = “Slew Rate” ( usual engineering term ).
Hardware support for a board, by STM32Cube.
Hardware abstraction layer for MCUs and boards ( “Board support packages” ), for use with “STM32Cube”. Please don´t unzip the ZIP files, this is done automatically by the import process of the “New Libraries Manager” available at STM32CubeMX by “Help / Install New Libraries”:
The DISCOVERY boards includes an ST-LINK/V2 embedded debug tool interface that is supported by the following software toolchains: IAR, KEIL, ATOLL ( so you don´t need to buy a ST-Link/V2 ).
DISCOVERY boards are a small application with as much sensors and actors as you can, while the NUCLEO board are in Arduino format, a base frame without (much) sensors and actors.
If you remove the 2 jumpers of at the top of the board next to the inscripts “ST-Link” & “Discovery”, you might use the STLink Debugger for your own boards .
By the windows executable application “qspieraser.bin”, you can delete the USB flash disk more quicky, than by accessing the Windows explorer.
Remember that the evaluation board is not intended to be an audio player, i.e. the Flash memory is not intended for frequent data changes, like by copying new audio files to the file system.
I was invited to join the exhibition and conference WT - Wearable Technologies Europe 2019 ( WT ) at Messe München in München, Germany, 2019-02-05 - 2019-02-06. Especially I participated in the “STMicroelectronics and Sigfox Developer Workshop 2019” of “Innovation World Cup Series” in München during that event, on 2019-02-05.
The IoT tracker node kit includes an STM32 Microcontroller and two expansion boards for Sigfox connectivity along with inertial and environmental sensors.
NUCLEO-L053R8 (STM32 Nucleo-64 development board with STM32L053 MCU)
STMicroelectronics "STSW-BLUENRG1-DK" - “The STSW-BLUENRG1-DK evaluation SW package is based on the BlueNRG-1 and BlueNRG-2 very low power Bluetooth low energy (BLE) single-mode systems-on-chip with 160 KB and 256 KB of Flash memory, respectively, 24 KB of RAM, 32-bit core ARM Cortex-M0 and ADC, GPIOs, I²C, RTC, SPI, Timers, UART, WDG and RTC peripherals”.
STMicroelectronics "STSW-BNRGUI" - “The STSW-BNRGUI software package consists of a graphical user interface (GUI) PC application that can be used to interact and evaluate the capabilities both of the BlueNRG and BlueNRG-MS Bluetooth low energy network processors, which are low power Bluetooth® Smart ICs, compliant with the Bluetooth specifications. It also supports the BlueNRG-1 and BlueNRG-2 Bluetooth low energy systems-on-chip: low power Bluetooth smart ICs that are compliant with the Bluetooth® specification, both in master and slave roles”.
“Window10 driver installation issues”.
PDF document “Window10 driver installation issues. Users of Windows 10 –issue with BlueNRGand S2-LP driver installation. Issue linked to signed driver enforcement policy on Windows 10”.
How can I install drivers that are not digitally signed? Windows 10 enforces driver signatures by default. This can be disabled to install drivers that are not digitally signed. Use the following steps to disable driver signature enforcement.
Click the Start Start menu and select Settings.
Click Update and Security.
Click on Recovery.
Click Restart now under Advanced Startup.
Click Troubleshoot.
Click Advanced options.
Click Startup Settings.
Click on Restart.
On the Startup Settings screen press 7 or F7 to disable driver signature enforcement.
Your computer will restart and you will be able to install non-digitally signed drivers. If you restart your computer again the driver signature enforcement will be re-enabled.
STMicroelectronics "STSW-S2LP-DK. Evaluation SW package based on S2-LP" - “The STSW-S2LP-DK is an evaluation SW package based on the S2-LP high performance ultra-low power RF transceiver for RF wireless applications in the sub-1 GHz band. It is designed to operate in both the license-free ISM and SRD frequency bands at 433, 868 and 920 MHz, but can also be programmed to operate at additional frequencies in the 413-479 MHz, 452-527 MHz, 826-958 MHz, 904-1055 MHz bands”.
STMicroelectronics "STSW-S2LP-SFX-DK. Evaluation SW package based on S2-LP" - “The STSW-S2LP-SFX-DK is an evaluation SW package for Sigfox networking with the S2-LP high performance, ultra-low power RF transceiver. It is designed to operate in the majority of radio configuration zones (RCZ) described by Sigfox”.