小熊arm学习总结:iar7.3建立工程报错:cannot open the source file "XXXxxx.h

当确定头文件等设置都没有问题的时候,可以试一试下面的方法去解决,我亲身体验完美通过:

方法一.

STM32工程 从IAR6.0 转到 IAR6.3

用IAR6.3打开IAR6.0 的工程,编译的时候出现提示错误:

extern uint32_t __get_PSP(void); 已经在C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\inc\c\intrinsics.h文件中定义

extern uint32_t __get_MSP(void);已经在C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\inc\c\intrinsics.h文件中定义 。。。。。。

这是由于IAR6.3已经加入了CM3的内核定义,就不需要ST库中的core_cm3.c 和 core_cm3.h 这两个文件的定义了

解决办法从ST网站找到:

直接删除core_cm3.c 和 core_cm3.h 这两个文件,然后在工程设置里面勾选 "Use CMSIS"

方法二.

把这个东西注释掉就可以了 core_cm3.h里的这个! 再添加一句

!#if defined (__ICCARM__)

//#include <intrinsics.h> /* IAR Intrinsics *///注释掉 __intrinsic void __DSB(void); //添加上

#endif

方法三:将iar安装文件里面的core_cmFunc.h和core_cmInstr.h文件复制到自己当前工程文件中并包含进来:

设置USE CMSIS方法:

1: Project options > General Options > Library

Configuration 里选择 USE CMSIS ;

编译,通过。。。。。


http://www.505book.com/


阅读更多
文章标签: arm
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭