Both StdPeriph (the legacy ST firmware) and HAL (the new firmware format) include CMSIS (the minimal ARM-specified MCU support library), but they both also provide a lot more, as they include drivers for all the device peripheral devices.
If you really want a project with only CMSIS, you must manually clean a project, for example starting form a HAL firmware:
- Create a HAL project for your board, selecting to include the library “As sources”:
- Remove the HAL_Driver and Utilities folders from the created project:
- Cleanup the include path (in project >> Properties >> C/C++ General >> Paths and Symbols >> Includes)
- Dont forget to do this for all configurations and all languages (Assembly is duplicated, cleaning the first should be enough)
- Also suppress the USE_HAL_DRIVER symbol from the Symbols tab
- Suppress the now useless stm32fxxxxx_it.c file
- Suppress, in main.c, the include of the board-specific definition file, if any
Then you should have a project that compile correctly; you will obviously have to add all the needed application code, but can use all of the CMSIS features (but no peripheral drivers or board-specific functions that were suppressed).