Не совсем верно вы сделали. В файле stm32f2xx.h:
#if !defined (HSE_VALUE)
#define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
#endif /* HSE_VALUE */
То есть, если Вы объявите глобальный дефайн
HSE_VALUE=8000000u, то нет необходимости редактировать stm32f2xx.h .
У меня в опциях проекта кейла, во вкладке С/С++ в "Preprocessor Simbols", "Define" вписано:
HSE_VALUE=8000000u
и всё прекрасно работает.
Я столкнулся с такой-же проблемой, как и Вы, не мог понять, почему скорость порта отличается от устанавливаемой почти в 3 раза...