µVision: Using CMSIS and DFP of specified Include Path only, not from Keil’s Pack directory

µVision Version 5.36.0.0


I am trying to be independent of the automatically installed Keil packs and want only use the CMSIS/DFP versions, which are placed direct inside my project’s repository. The project’s root directory looks in a minimal example like that

ST/STM32CubeXY/Va.b.c/Drivers/CMSIS/Core/Include
ST/STM32CubeXY/Va.b.c/Drivers/CMSIS/Device/ST/STM32XYxx/Include
My_source/
keil_project.uvprox

My Include paths in the target options are accordingly

ST/STM32CubeXY/Va.b.c/Drivers/CMSIS/Core/Include
ST/STM32CubeXY/Va.b.c/Drivers/CMSIS/Device/ST/STM32XYxx/Include
My_source/

I removed all packs from the Target’s “Select Software Pack for Target” dialog:

The project compiles fine.

But there seems to be two issues:

  1. If I check the ‘Compiler control string’ in the options, there is still an include path to Keil’s Pack location (…/CMSIS/Device/ST/…/Include to be more precise) added automatically

    Why is this, and how can I prevent it?



  2. If I open the project an error message pops up, telling me
    Error: Device not found
    Device: STM32XX…….
    Vendor: STMicroelectronics
    Please update your device selection

    How can I tell Keil that the headers are included?
    Do I miss here something?