We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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,
Although every IDE I have ewer used does, indeed, have a place to define preprocessor symbols, I have never yet found one where the 'go to definition' feature works with such symbols!
:(
You'd have thought that'd be a pretty basic feature ...
Having said that, there is usually only a pretty small set of such symbols - so it shouldn't be hard to find manually ... http://www.keil.com/support/man/docs/uv4/uv4_dg_adscc.htm