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
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 Nucleo demonstration firmware is built around the STM32Cube hardware abstraction layer (HAL) and low-
layer (LL) APIs, and board support package (BSP) components.
STM32CubeG4 Nucleo demonstration firmware
UM2573
User manual
UM2573 - Rev 1 - May 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 to generate 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 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.
UM2573
STM32CubeG4 main features
UM2573 - Rev 1
page 2/18