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 STM32CubeG0 for the STM32G0 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 STM32CubeG0 demonstration firmware running on the STM32G0316-DISCO 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 STM32G030J6 device.
STM32CubeG0 STM32G0316-DISCO demonstration firmware
UM2568
User manual
UM2568 - Rev 1 - June 2019
For further information contact your local STMicroelectronics sales office.
www.st.com
1 STM32CubeG0 main features
STM32CubeG0 gathers, in a single package, all the generic embedded software components, required to develop
an application on STM32G0 microcontrollers. In line with the STM32Cube initiative, this set of components is
highly portable, not only to the STM32G0 Series but also to other STM32 series.
STM32CubeG0 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 STM32CubeG0 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
Several applications and demonstrations implementing all these middleware components are also provided in the
STM32CubeG0 MCU Package.
Figure 1 shows the block diagram of STM32Cube.
Figure 1. STM32CubeG0 firmware components
Application level demonstrations
Utilities
Middleware level
(1)
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 system RTOS
Hardware abstraction layer APIs
(HAL)
Board support package (BSP) Low-layer APIs (LL)
Utilities
CMSIS
The demonstration firmware for the STM32G0316-DISCO board comes on top of the STM32CubeG0 MCU
Package, which is based on a modular architecture allowing the reuse of software components separately in
standalone applications. The STM32Cube demonstration kernel manages all the modules, allows the addition of
new modules dynamically, and the 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 STM32G0 device capability to offer a wide scope of
usages.
The STM32G0 microcontrollers are based on the Arm
®
32-bit Cortex
®
-M0+ processor.
Note: Arm is a registered trademark of Arm Limited (or its subsidiaries) in the US and/or elsewhere.
UM2568
STM32CubeG0 main features
UM2568 - Rev 1
page 2/20