|
& h# L1 ^& b: Z$ }5 A1 @7 @ 今天用IAR 6.4打开 6.3的工程,编译时发现一大堆的错误,$ e( h+ S; e" _' Y* W% [- Y, y/ Y0 Y 8 m( U i S9 p Error[Pe147]: declaration is incompatible with "__nounwind __interwork __softfp unsigned long __STREXH(unsigned short, unsigned short *)" (declared at line 186 of "D:\Program Files (x86)\IAR E:\STM32-P207_P407_IAR_6.30.7_DEMO_V4_1\Libraries\CMSIS\CM3\__CoreSupport(not_used)\core_cm3.h 1186 4 n5 V/ W% x' B . T y' X( y+ T4 j 首先发现是头文件包含路径丢失;) l: V1 q8 M3 n& \7 P1 D. S. F 添加方法:" a" e" s0 }4 ~3 k% k: A 1. 右击工程Options->选择C/C++ Compiler ->Preprocessor 添加相对路径,如下示例:6 d5 @' s% p: t* ~! C% f2 T. m $PROJ_DIR$\..\..\Libraries\STM32F2xx_StdPeriph_Driver\inc $PROJ_DIR$\..\..\Project\Audio $PROJ_DIR$\..\..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx $PROJ_DIR$ 是工程所在路径。, i& w, R6 V C 2. 由于版本不同,所以打工工程时,CPU选择时会默认为ARM7,所以要修改; 修改方法如下: 右击工程Options->选择General Options ->Target ,选择Device,在其中选择自己的CPU型号。9 j- S& I6 n; P/ e1 O 7 V8 K5 p9 w' ]: a0 v * ^; n3 ~2 T5 e 3. 可能出现core_cm.h文件不一致的问题,修改方法如下:( k/ R, L; l0 E* F1 c- q 1,把老的core_cm3.h去掉,删除,或者改成core_cm3.h.old。0 o$ _2 M- P# S y1 p3 q8 k* e 2,Project -> Options -> General Options -> Library Configuration -> Use CMSIS,右下角的选项中选择 use CMSIS + T4 v0 `/ q6 H7 i9 ]8 { $ J) Z g u* B8 B/ D8 f/ v : E7 n1 C' s9 _) b( w |
微信公众号
手机版