Loading...
 
Skip to main content

System Workbench for STM32


Re: New project with just CMSIS driver librery

France

Hi Leonardo

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:

  1. Create a HAL project for your board, selecting to include the library "As sources":

Image

  1. Remove the HAL_Driver and Utilities folders from the created project:

Image

  1. 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

Image

  1. Suppress the now useless stm32fxxxxx_it.c file
  2. 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).

Bernard

Thank, taht is what I looking for!

BR