А чтобы не кушало *.h файлы живущие в папке с компилятором, я все библиотечные инклуды поместил в папку с проектом, далее пример, как я сделал:
В опциях проекта кейла, во вкладке С/С++ в поле "Include Parts" добавлены пути ко всем используемым в проекте инкулдам:
..\src;..\lib\CMSIS;..\lib\STM32F2xx_StdPeriph_Driver\inc;..\rtx\inc;..\rtx\src
и во всех моих инклудах имена файлов заключать в кавычки "" , чтобы компилятор не тянул
файлы с таким именем из системных папок с инклудами:
#include "cmsis_os.h" // Это брать из моих папок
#include "stm32f2xx.h"
#include <string.h> // Это из системных
#include <stdio.h>
Ещё у меня в опциях проекта кейла, во вкладке С/С++ в "Preprocessor Simbols", "Define" вписано:
STM32F2XX, USE_STDPERIPH_DRIVER, __CORTEX_M3, __CMSIS_RTOS, HSE_VALUE=8000000u