Introduction
STM32Cube is an STMicroelectronics original initiative to significantly improve designer's productivity by reducing development
effort, time and cost. STM32Cube covers the whole STM32 portfolio.
STM32Cube includes:
A set of user-friendly software development tools to cover project development from the conception to the realization,
among which:
STM32CubeMX, a graphical software configuration tool that allows the automatic generation of C initialization code
using graphical wizards
STM32CubeIDE, an all-in-one development tool with IP configuration, code generation, code compilation, and debug
features
STM32CubeProgrammer (STM32CubeProg), a programming tool available in graphical and command-line versions
STM32CubeMonitor-Power (STM32CubeMonPwr), a monitoring tool to measure and help in the optimization of the
power consumption of the MCU
STM32CubeMonitor-UCPD (STM32CubeMonUCPD), a monitoring tool to measure and help in the configuration of
USB Type-C
and Power Delivery applications
STM32Cube MCU & MPU Packages, comprehensive embedded-software platforms specific to each microcontroller and
microprocessor series (such as STM32CubeG4 for the STM32G4 Series), which include:
STM32Cube hardware abstraction layer (HAL), ensuring maximized portability across the STM32 portfolio
STM32Cube low-layer APIs, ensuring the best performance and footprints with a high degree of user control over the
HW
A consistent set of middleware components such as FAT file system, RTOS, USB Device, and USB Power Delivery
All embedded software utilities with full sets of peripheral and applicative examples
STM32Cube Expansion Packages, which contain embedded software components that complement the functionalities of
the STM32Cube MCU & MPU Packages with:
Middleware extensions and applicative layers
Examples running on some specific STMicroelectronics development boards
The STM32CubeG4 demonstration firmware running on the STM32G474E-EVAL Evaluation board is built around the
STM32Cube hardware abstraction layer (HAL) and low-layer (LL) APIs, and board support package (BSP) components. It
embeds several applications that demonstrate various features of the STM32G474QET6 device and exercise some peripherals
of the STM32G474E-EVAL Evaluation board. These applications are:
White LED application
Mathematics application
UCPD application
Low-power application
Image viewer application
Audio application
Calendar application
Thermometer application
File browser application
STM32CubeG4 STM32G474E-EVAL demonstration firmware
UM2583
User manual
UM2583 - Rev 1 - June 2019
For further information contact your local STMicroelectronics sales office.
www.st.com
1 STM32CubeG4 main features
STM32CubeG4 gathers, in a single package, all the generic embedded software components, required to develop
an application on STM32G4 microcontrollers. In line with the STM32Cube initiative, this set of components is
highly portable, not only to the STM32G4 Series but also to other STM32 series.
STM32CubeG4 is fully compatible with the STM32CubeMX code generator that allows the generation of
initialization code.
The package includes a driver layer (HAL) proposing a set of abstraction services and a low-level hardware layer
(LL) proposing a set of register-level functions, together with an extensive set of examples running on
STMicroelectronics boards. HAL is available in open-source BSD license for user convenience.
The STM32CubeG4 MCU Package also contains a set of middleware components with the corresponding
examples. They come in free user-friendly license terms:
FAT file system based on open source FatFS solution
CMSIS-RTOS implementation with FreeRTOS
open source solution
USB PD Devices and Core libraries
USB Device library
Several applications and demonstrations implementing all these middleware components are also provided in the
STM32CubeG4 MCU Package.
The block diagram of STM32Cube is shown in Figure 1.
Figure 1. STM32CubeG4 firmware components
Middleware level
(1)
Utilities
Application level demonstrations
HAL and LL APIs
(1) The set of middleware components depends on the product Series.
User
application
Evaluation
boards
Discovery
boards
STM32 Nucleo
boards
Dedicated
boards
USB PD FAT file systemRTOS
Hardware abstraction layer APIs
(HAL)
Board Support Package (BSP) Low-layer APIs (LL)
Utilities
CMSIS
USB Device
The demonstration firmware for the STM32G474E-EVAL Evaluation board comes on top of the STM32CubeG4
MCU Package, which is based on a modular architecture allowing the reuse of software components separately in
standalone applications. All modules are managed by the STM32Cube demonstration kernel, which allows the
addition of new modules dynamically and access to the storage, graphical, and components common resources.
The demonstration firmware is built on the light kernel and services provided by the BSP as well as components
based on the STM32Cube HAL It makes extensive use of the STM32G4 device capability to offer a wide scope of
usages.
The STM32G4 microcontrollers are based on the Arm
®
32-bit Cortex
®
-M4 processor.
Note: Arm is a registered trademark of Arm Limited (or its subsidiaries) in the US and/or elsewhere.
UM2583
STM32CubeG4 main features
UM2583 - Rev 1
page 2/61