AnsweredAssumed Answered

declaration is incompatible when intrinsics.h is included

Question asked by hossein hosseini on Oct 14, 2017
Latest reply on Oct 14, 2017 by Clive One


i am new in stm32 and i want to programm stm32 with spl library , but i am very Confused because some of the Headers file include to another header file , and i dont know what is these headers setting .

i use IAR IDE - if someone has some source to learn First project in IAR with SPL , please guidance me , i am realy Confused.


however, my question is when i compile this code :


i have this error:

Error[Pe147]: declaration is incompatible with "__nounwind __interwork __softfp unsigned long __STREXH(unsigned short, unsigned short volatile *)" (declared at line 186 of "C:\Program Files (x86)\IAR Systems\ D:\hossein-class\2micro programming\ARM\Activity\IAR\blink3\core_cm3.h 1186

but when i clear this line : #include <intrinsics.h>  in the core_cm3.h  , i hava not any errors.


I saw declaration  of __STREXH function in core_cm3 and intrinsics.h , the type of them was different.

in core_cm3 was uint32_t and in intrinsics.h was  __ATTRIBUTES unsigned long ;

what do i do ??