I'm getting the same multiple errors of the kind that were asked about in a thread from 2010.
http://www.keil.com/forum/17977/
However the link at the bottom of that thread (that I assume has the answer) is dead. Does anyone have any suggestions?
The errors are of the form:
C:\Keil\ARM\Inc\ST\STM32f10x\STM32F10x_type.h(23): error: #256: invalid redeclaration of type name "s32" (declared at line 470 of C:\Keil\ARM\Inc\ST\STM32F10x\STM32F10x.h")
I'm getting similar error messages for all the other types s8, s16, u8, u16, u32, etc. and also for things like SET/RESET and ENABLE/DISABLE
Now I see that STM32F10x_type.h and STM32F10x.h are both in the same folder. Each defines these types differently as follows:
STM32F10x_type.h line 23 is: typedef signed long s32;
STM32F10x.h, line 470 is: typedef int32_t s32;
In the block at the top of the file STM32F10x_type.h, it says that it is V2.0.1, dated 06/13/2008. In the comment block at the top of the file STM32F10x.h, it says that it is V3.4.0, dated 10/15/2010. However the file save date for both is 10/17/2011 at 5:01pm so they must have come from the same download.
My questions: 1) Why is there a duplication of these defines in these two files in the same folder? 2) Why are they defined differently? 3) Where does the type "int32_t" come from because it is certainly not a native C data type while "signed long" is a native C data type? 4) What do I have to do to fix this issue so my project will compile?
Thanks!