Using a custom project structure and a custom hardware abstraction layer ¶
This case assumes that a custom environment is used to develop from the beginning. Use a third-party integrated development environment, such as IAR Embedded Workbench® for Arm®, Arm® Keil® Studio or MDK µVision, or any other command-line interface-based development environment.
If ST tools are not used, and there is a plan to use STM32Cube hardware abstraction layer (HAL), low-layer (LL) drivers, or any STM32Cube middleware, extract them from STM32Cube MCU packages or clone the corresponding repositories from the ST GitHub repository.
Note
- There are two kinds of packages:
-
STM32Cube MCU Packages
STM32 Expansion Packages
Refer to the hundreds of available basic examples in the STM32 Example Library. Code examples are also available in STM32Cube software packages.
Also refer to:
“Description of STM32xx HAL and low-layer drivers” document (for example, UM1725 for the STM32F4 series)
HAL2 for STM32xx series online documentation (for example, STM32C5 HAL/LL Drivers Documentation for the STM32C5 series)
How to follow ST updates ¶
STM32CubeMX tool allows direct access to new updates of embedded software components, which are published on www.st.com as well. ST GitHub is another way to follow regular updates of STM32Cube software components.