This repository has been created using the git submodule
command. Please refer to the "How to use" section for more details.
STM32Cube is an STMicroelectronics original initiative to ease developers' life by reducing efforts, time and cost.
STM32Cube covers the overall STM32 products portfolio. It includes a comprehensive embedded software platform delivered for each STM32 series.
- The CMSIS modules (core and device) corresponding to the ARM(tm) core implemented in this STM32 product.
- The STM32 HAL-LL drivers, an abstraction layer offering a set of APIs ensuring maximized portability across the STM32 portfolio.
- The BSP drivers of each evaluation, demonstration or nucleo board provided for this STM32 series.
- A consistent set of middleware libraries such as RTOS, USB, FatFS, graphics, touch sensing library...
- A full set of software projects (basic examples, applications, and demonstrations) for each board provided for this STM32 series.
The STM32CubeF4 MCU Package projects are directly running on the STM32F4 series boards. You can find in each Projects/Board name directories a set of software projects (Applications/Demonstration/Examples).
In this repository, the middleware libraries listed below along with the projects (demos, applications, and examples) using them, are not available as they (the middleware libraries) are subject to some restrictive license terms requiring the user's approval via a "click thru" procedure.
./Middlewares/ST/STM32_Audio
./Middlewares/ST/STemWin
./Middlewares/ST/TouchGFX
If needed, they can be found inside the full firmware package available on our website st.com
and downloadable from here. You will be prompted to login or to register in case you have no account.
Details about the content of this release are available in the release note here.
This repository has been created using the git submodule
command. Please check the instructions below for proper use. Please check also the notes at the end of this section for further information.
- To clone this repository along with the linked submodules, option
--recursive
has to be specified as shown below.
git clone --recursive https://github.com/STMicroelectronics/STM32CubeF4.git
- To get the latest updates, in case this repository is already on your local machine, issue the following two commands (with this repository as the current working directory).
git pull
git submodule update --init --recursive
- To use the same firmware version as the one available on st.com, issue the command below after specifying the targeted
vX.Y.Z
version. This should be done after the command(s) indicated in instruction (1) or in instruction (2) above have been successfully executed.
git checkout vX.Y.Z # Specify the targeted vX.Y.Z version
- To avoid going through the above instructions and directly clone the same firmware version as the one available on st.com, issue the command below after specifying the targeted
vX.Y.Z
version.
git clone --recursive --depth 1 --branch vX.Y.Z https://github.com/STMicroelectronics/STM32CubeF4.git
- The latest version of this firmware available on GitHub may be ahead of the one available on st.com or via STM32CubeMX. This is due to the rolling release process deployed on GitHub. Please refer to this post for more details.
- Option
--depth 1
specified in instruction (4) above is not mandatory. It may be useful to skip downloading all previous commits up to the one corresponding to the targeted version. - If GitHub "Download ZIP" option is used instead of the
git clone
command, then the different submodules have to be collected and added manually.
- STM32F4
- STM32F4-Discovery
- STM32F401-Discovery
- STM32F401RE-Nucleo
- STM32F410xx-Nucleo
- STM32F411E-Discovery
- STM32F411RE-Nucleo
- STM32F412G-Discovery
- STM32F412ZG-Nucleo
- STM32F413H-Discovery
- STM32F413ZH-Nucleo
- STM32F429I-Discovery
- STM32F429ZI-Nucleo
- STM32F446ZE-Nucleo
- STM32429I_EVAL
- STM32439I_EVAL
- STM3240G_EVAL
- STM3241G_EVAL
- STM32446E_EVAL
- STM32446E-Nucleo
- STM32469I_EVAL
- STM32469I-Discovery
Please refer to the CONTRIBUTING.md guide.