This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Pre-Processor Location

Hi,

I have a very silly question and very strange as well. I just created a new project for stm32f407vg in Keilv5 MDK on HAL.

Following is the simple code:

This is HAL libraries FILE

#include <stm32f4xx.h>

int main () {

return 0;
}

Now just to see which header file will be selected in included file stm32f4xx.h:

#if defined(STM32F405xx)

#include "stm32f405xx.h"

#elif defined(STM32F415xx)

#include "stm32f415xx.h"

#elif defined(STM32F407xx)

#include "stm32f407xx.h"
. .
#else

#error "Please select first the target STM32F4xx device used in your application (in
stm32f4xx.h file)"

#endif

Strangly it goes to STM32F407xx selection instead of giving the error... I just spent 2-hours just to dig out where this STM32F407xx is defined?? I didn't define it in project settings C/C++ Pre-processor.
Also tried by right clicking anD go to definition but it didn't work as well.

Kindly any suggestion where this pre-processor symbol (STM32F407xx) is defined?? and is there any way in keil to track pre-processor symbols locations?

kind Regards,

Parents Reply Children