STM32Cube is an STMicroelectronics original initiative to make developers' lives easier by reducing development effort, time and cost. STM32Cube™ covers the whole STM32 portfolio.
STM32Cube includes STM32CubeMX, a graphical software configuration tool that allows the generation of C initialization code using graphical wizards.
It also comprises the STM32CubeG4 MCU Package composed of the STM32Cube hardware abstraction layer (HAL) and the low-layer (LL) APIs, plus a consistent set of middleware components (RTOS, USB and FAT file system). All embedded software utilities are delivered with a full set of examples running on STMicroelectronics boards.
The STM32CubeG4 embeds specific APIs (such as HRTIMER, a rich set of analog APIs, FMAC and CORDIC mathematical accelerators), that make it particularly tailored for motor control and switched-mode power supply applications.
The STM32Cube HAL is an STM32 embedded software layer that ensures maximized portability across the STM32 portfolio, while the LL APIs make up a fast, light-weight, expert-oriented layer, which is closer to the hardware than the HAL. HAL and LL APIs can be used simultaneously with a few restrictions.
Both HAL and LL drivers are production-ready and have been developed in compliance with V-Model requirements for design, implementation and tests. Furthermore, STMicroelectronics specific validation process adds a deeper qualification level, such as compliance with MISRA-C®
:2012 guidelines and elimination of possible runtime errors thanks to a static analysis tool. Reports are available on demand.
The STM32CubeG4 gathers in one single package all the generic embedded software components required to develop an application on STM32G4 microcontrollers. Following STM32Cube initiative, this set of components is highly portable, not only within the STM32G4 Series but also to other STM32 Series. In addition, the low-layer APIs provide an alternative, high-performance, low-footprint solution to the STM32CubeG4 HAL at the cost of portability and simplicity.
HAL and LL APIs are available in open-source BSD license for user convenience.