on 2024-09-30 05:00 AM
You will receive one or more compilation errors if you download any given STM32Cube package by using the GitHub Download ZIP option.
This is because our repository is created using the git submodule command. So, if the GitHub Download ZIP option is used instead of the git clone command, then the different submodules have to be collected and added manually.
To download an STM32Cube package without compilation errors, you have to clone the repository along with the linked submodules using git clone example below:
git clone --recursive https://github.com/STMicroelectronics/STM32Cube1234.git
In the git clone example above, the "1234" on the STM32Cube1234 needs to be replaced by the STM32 series of the cube package. For example, STM32CubeWB for the STM32WB and STM32CubeH7RS for the STM32H7R/S.It was really getting ridiculous of much much code ST was duplicating and copying around for HALs and samples.
So I really like the direction this is going with using something like sub-modules and providing everything in an easily accessible way such that downstream SDKs can easily track and update changes.
Getting away from "we have this <100 line code sample so for sure we pack multiples SDKs, CMSIS, RTOS, network stack etc all in a {2-3digit}MB sized pack" will benefit ST as much as the customers. I am really wondering how ST managed to maintain these in the past.