Symbol 'SysTick_IRQn' could not be resolved
The document behind link pipopoplin provided was very us full for me.
I'm facing the same problem as mdundas does. I assume, that I have a more complex configuration than mdundas has, because I get error messages also for DMA1_Ch2_3_DMA2_Ch1_2_IRQn and DMA1_Ch4_7_DMA2_Ch3_5_IRQn. These are all exception numbers defined in “stm32fxc.h” in the enum “IRQn_Type”.
If I rename “SysTick_IRQn” to something else, for example to “SysTick_IRQn2”, in this header file and in my main.c, the error message disappears for the main.c If document out the definition of “SysTick_IRQn” in the header file, I get the same error message as with the original definition.
I created a new enum. All members worked fine, except “SysTick_IRQn”. The suspicion rose, that “SysTick_IRQn” is multiple defined. I renamed all “stm32fxc.h” files, except the one for my processor type. With the result, that the error for “SysTick_IRQn” was solved. When I gave one of the other “stm32fxc.h” his original name back, the error was also back. I added the following line to this file: #define Foo 1”, right after
- ifndef __STM32F038xx_H
- define __STM32F038xx_H
and in my main.c: Foo; Foo couldn't be resolved. Then I added this piece of code right before the enumeration, same result. Now I added Foo = -1, inside the enumeration. Now Foo could be resolved!
My conclusion is, that in some mysterious way this enumeration from any of theses header files in my project find it's way in to the program building process, even the rest of the file is ignored.
By the way, also the error messages for the other interrupt definitions disappeared.