February 2017 DocID027941 Rev 4 1/83
1
UM1906
User manual
STM32CubeF7 demonstration platform
Introduction
The STM32Cube initiative was originated by STMicroelectronics to ease developers’ life by
reducing the development efforts, time and cost. STM32Cube covers the STM32 portfolio.
The STM32CubeF7 demonstration platform comes on top of the STM32Cube as a firmware
package. It offers a full set of software components based on a module architecture that
allows re-using them separately in standalone applications. All these modules are managed
by the STM32CubeF7 demonstration kernel that dynamically adds new modules and
accesses common resources (storage, graphical components and widgets, memory
management, real-time operating system).
The STM32CubeF7 demonstration platform is built around the powerful graphical library
STemWin and the FreeRTOS
real-time operating system and uses almost the whole
STM32 capability to offer a large scope of usage based on the STM32Cube HAL BSP and
several middleware components.
The architecture was defined with the goal of making from the STM32CubeF7
demonstration core an independent central component which can be used with several
RTOS and third party firmware libraries. It uses several abstraction layers inserted between
the STM32CubeF7 demonstration core, the several modules and the libraries.
The STM32CubeF7 demonstrations support the STM32F7 Series devices and run on the
STM32746G-EVAL, the STM32756G-EVAL, the STM32746G-Discovery, the STM32F769I-
EVAL, the STM32F769I-Discovery and the STM32F723E-Discovery boards. All the
demonstrations feature two modules (audio recorder and VNC server) which are not
available on the STM327x6G-EVAL and STM32F723E-Discovery board demonstrations.
www.st.com
Contents UM1906
2/83 DocID027941 Rev 4
Contents
1 STM32Cube overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Global architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Kernel description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Kernel initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3 Kernel processes and tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4 Kernel graphical aspect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
3.5 ST widget add-ons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.5.1 ST animated icon view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.5.2 ST slider skin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.6 Kernel menu management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.7 Module manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.8 Backup and settings configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.9 Storage units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.10 Adding a binary demonstration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.11 Demonstration repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.12 Kernel components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.13 Kernel core files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.14 Hardware settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4 Creating a new module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1 Creating the graphical aspect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2 Graphics customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3 Module implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.4 Adding a module to the main desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5 Demonstration customization and configuration . . . . . . . . . . . . . . . . 31
5.1 LCD configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2 Layer management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.3 BSP customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32