打印

请教一下STM32F2的固件库,和IAR的版本对应问题。

[复制链接]
7555|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
下载了 STM32F2xx_StdPeriph_Lib_V1.0.0
里面的工程在IAR6.1下能打开,但是编译出错。请教一下是我的配置问题还是版本不兼容?

IAR 版本: IAR C/C++ Compiler for ARM  6.20.0.52543 (6.20.0.52543)

错误提示:

Error[Pe147]: declaration is incompatible with "__interwork __softfp unsigned long __get_PSP(void)"  
(declared at line 52 of "\Embedded Workbench 6.0\arm\inc\c\intrinsics.h")
\STM32F2xx_StdPeriph_Lib_V1.0.0\Libraries\CMSIS\CM3\CoreSupport\core_cm3.h 1084
沙发
香水城| | 2011-6-8 11:02 | 只看该作者
不要用老的库,请下载最新版本固件库。

使用特权

评论回复
板凳
javenreal|  楼主 | 2011-6-8 11:49 | 只看该作者
不好意思,再问一下。ST网站上好像只有这一个版本哦。截图见附件

未命名.JPG (30.34 KB )

未命名.JPG

使用特权

评论回复
地板
香水城| | 2011-6-8 11:59 | 只看该作者
我看错了,以为你要的是STM32F1的,抱歉,抱歉,:L

使用特权

评论回复
5
javenreal|  楼主 | 2011-6-8 12:50 | 只看该作者
那么,是要换IAR版本吗?

使用特权

评论回复
6
javenreal|  楼主 | 2011-6-8 15:20 | 只看该作者
顶,请过来人指点一、二

使用特权

评论回复
7
javenreal|  楼主 | 2011-6-8 15:39 | 只看该作者
回7楼,器件型号我看了是对的,而且工程是原封不动的官方的例子,不会错的。

使用特权

评论回复
8
javenreal|  楼主 | 2011-6-8 17:42 | 只看该作者
报错的是类似这样的函数:
__intrinsic unsigned long __get_PSP( void );
extern uint32_t __get_PSP(void);

类似这样的错误有几百处。

unsigned long 和 uint32_t 应该是一样的呀

使用特权

评论回复
9
kingpoo| | 2011-6-8 21:59 | 只看该作者
可能是某些头文件的包含问题!

使用特权

评论回复
10
smare| | 2011-6-14 23:06 | 只看该作者
我也遇过了这个问题,好像是IAR 版本问题,
就用6.20 里的三个文件换下了这个库里了三个文件
文件名分别是
core_cm3.c
intrinsics.h
core_cm3.h
不过后好发现好像只换intrinsics.h也可以..

使用特权

评论回复
11
amonghappy| | 2011-7-19 16:11 | 只看该作者
楼上的方法就是IAR推荐的方法。使用以前可以用的版本的文件替换新文件即可。

使用特权

评论回复
12
ap_lfs| | 2012-3-30 23:55 | 只看该作者
受教了。谢谢诸位。

使用特权

评论回复
13
LXXAVR| | 2013-3-6 16:34 | 只看该作者
请问STM32开发 IAR编译器哪里有下呀?我的QQ是2512993809

使用特权

评论回复
14
sunnyhey| | 2013-4-17 16:25 | 只看该作者
我用5.4版本也可以打开,但是编译出错,选择芯片时没有F2系列的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

48

帖子

1

粉丝