iar升级到7.80,不料编译时,却出现一系列问题:
Error[Pe147]: declaration is incompatible with "__nounwind __interwork __softfp unsigned long __get_PSP(void)" (declared at line
Embedded Workbench 7.5\arm\inc\c\intrinsics.h")
Error[Pe147]: declaration is incompatible with "__nounwind __interwork __softfp void __set_PSP(unsigned long)" (declared at line
Embedded Workbench 7.5\arm\inc\c\intrinsics.h")
Error[Pe147]: declaration is incompatible with "__nounwind __interwork __softfp unsigned long __get_MSP(void)" (declared at line
Embedded Workbench 7.5\arm\inc\c\intrinsics.h")
Error[Pe147]: declaration is incompatible with "__nounwind __interwork __softfp void __set_MSP(unsigned long)" (declared at line
Embedded Workbench 7.5\arm\inc\c\intrinsics.h")
其具体原因为:
新版本CMSIS的intrinsics.h等文件与之前的版本不兼容。
解决办法为:
1: Project options > General Options > Library
Configuration 里选择 USE CMSIS ;
2:在Project>Options>C/C++Compiler>Preprocessor里删除所有的 CMSIS header files ,
“$PROJ_DIR$\..\..\..\Libraries\CMSIS\CM3\CoreSupport”