-> In “New Embedded Project” – “Device Selection” what does the option “Exclude the startup file from project” do? It did not seem to change anything in the “startup” folder, or I missed the change.
-> In “New Embedded Project” – “Sample Selection” what are the “Advanced Low-Level Driver Functions”?
Is there a best practice to use the latest version of the HAL-Library, like for example replacing the HAL-Folder of the “Device-specific files” with the current version of the folder “STM32F4xx_HAL_Driver”.
No problem. The “Exclude the startup file from project” should exclude the startup_xxx.c file from the project (you can change it later via the first of page VisualGDB Project Properties, save the project and compare the .vcxproj and .props files against the versions checked in the sourec control to see what exactly the setting does).
The “Advanced Low-Level Driver Functions” sets the USE_FULL_LL_DRIVER preprocessor macro that in turn enables some advanced functionality in the STM32 SDK. You can search the STM32 low-level drivers for USE_FULL_LL_DRIVER to see what exact functionality gets affected by this setting.
If you are planning to stay up-to-date with the STM32 SDK, we advise NOT converting the project to a stand-alone one. Then simply updating the BSP via Tools->VisualGDB->Manage VisualGDB Packages will automatically affect all projects targeting STM32 devices. That said, you may need to apply minor edits to the projects; although the STM32 SDKs are usually backwards-compatible, sometimes small changes (e.g. adding new macros to the configuration headers) might be required.