搜索
bottom↓
回复: 22

最新版IAR For ARM 8.22.1用C++写代码去掉warning方法...

[复制链接]

出0入0汤圆

发表于 2018-2-25 17:02:36 | 显示全部楼层 |阅读模式
本帖最后由 jangyouhua 于 2018-2-25 17:02 编辑

农历新年伊始,装了IAR For Arm最新版 IAR For ARM 8.22.1版, 该版本改进了IDE的性能
同时支持 "CMSIS version 5.3 including CMSIS NN for machine learning",说明白了,就是支持了最新的CMSIS 5.3.0
因为该版本内置了最新的CMSIS 5.3.0,打开老工程时,会出现几个问题,这里根据本人的摸索,将解决的方法
写出来以节约遇到此问题的同行!
一、安装完后,直接打开老工程(老版本的CMSIS库),编泽可以通过但会在build显示窗提示一堆的
"
Warning: The header file 'cmsis_iar.h' is obsolete and should not be used.
         A sutiable version is automatically included from the CMSIS-core package.
         This file will be removed in a future release.

"
该warning会很多!如下图1所示

提示的意思是cmsis_iar.h文件太旧不建议使用,IAR自动从自带的CMSIS-core包提取新的用!
你勾或不勾选下图"Use CMSIS"选项,这个warning始终出现!

解决办法,去掉老工程用的CMSIS目录下的包包含,去掉如下图所示包含目录!
再次编泽,出错

经查是由mpu_armv7.h文件中函数参数关健字“__RESTRICT”引起的,__RESTRICT是C99支持的特性(如何用自已查),C++不支持
而我的工程是用c++编写的,但头文件中也指定了C编泽"
#ifdef __cplusplus
extern "C" {
#endif
.......
"


后来在网上找到了解决办法:
Options->C/C++ Compiler->Extra Options
勾选 Use command line options
添加以下代码
“--enable_restrict” 就能够在C++的情况下编译通过了.如图2所示!



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

如果想吃一顿饺子,就得从冰箱里取出肉,剁馅儿,倒面粉、揉面、醒面,擀成皮儿,下锅……
一整个繁琐流程,就是为了出锅时那一嘴滚烫流油的热饺子。

如果这个过程,禁不住饿,零食下肚了,饺子出锅时也就不香了……《非诚勿扰3》

出0入0汤圆

发表于 2018-2-26 12:54:06 来自手机 | 显示全部楼层
那里有下栽

出0入0汤圆

发表于 2018-2-26 15:54:39 | 显示全部楼层

iar 官网吧

出0入0汤圆

发表于 2018-2-26 16:40:09 | 显示全部楼层
大牛人啦

出10入95汤圆

发表于 2018-2-28 12:52:36 来自手机 | 显示全部楼层
又更新了!D

出0入0汤圆

发表于 2018-2-28 17:06:54 | 显示全部楼层
更新速度太快,跟不上节奏啦

出0入0汤圆

发表于 2018-2-28 23:24:02 | 显示全部楼层
每次解决这样的bug,就感觉还是好坑

出0入0汤圆

 楼主| 发表于 2018-3-1 11:35:32 | 显示全部楼层
楼上的,还有什么坑?我一直用着,8.xx.x这版稳定多了,天天用没发现什么问题。

出0入0汤圆

发表于 2018-3-3 15:52:39 | 显示全部楼层
感谢LZ,遇到同样的问题,使用你找到的方法解决了。另外感觉这个版本的却比上个版本流畅多了,不论是打开界面,还是运行调试。

出0入0汤圆

发表于 2018-3-8 09:11:24 | 显示全部楼层
关于'cmsis_iar.h'的warning没看到楼主去掉哪个包含目录。找到另一个解决办法:
1. 进入iar安装目录下这个目录:
c:\Program Files (x86)\IAR Systems\Embedded Workbench 8.22\arm\CMSIS\Core\Include\
2. 将cmsis_iccarm.h复制一份命名为cmsis_iar.h。
搞定。
原cmsis_iar.h在arm\inc\c\下,由于搜索包含目录时arm\CMSIS\Core\Include\在arm\inc\c\之前,就会使用CMSIS\Core\Include\目录下的那份cmsis_iar.h

出0入0汤圆

发表于 2018-3-8 16:10:46 | 显示全部楼层
官网下载速度达到3M了,非常好!

出0入0汤圆

发表于 2018-3-26 12:01:28 | 显示全部楼层
iskywolf 发表于 2018-3-8 09:11
关于'cmsis_iar.h'的warning没看到楼主去掉哪个包含目录。找到另一个解决办法:
1. 进入iar安装目录下这个 ...

你这个方法还是有点问题,我直接按照你说的改,好像还是不行。。。我修改了一下,完全可以。。。
1. 进入iar安装目录下这个目录:
c:\Program Files (x86)\IAR Systems\Embedded Workbench 8.22\arm\CMSIS\Core\Include\
2.复制cmsis_iccarm.h一份文件出来,改名为cmsis_iar.h
3.将arm\CMSIS\Core\Include\arm\inc\c\下的cmsis_iar.h改名为cmsis_iar.old
4.将第3步的cmsis_iar.h文件复制到arm\CMSIS\Core\Include\arm\inc\c\下。

出0入42汤圆

发表于 2018-3-28 01:22:05 | 显示全部楼层
警告的意识是 cmsis_iar.h 这文件废弃了,将来的版本将要删除,赶紧别用了。
从根源上解决,全项目文本搜索 cmsis_iar.h,找到的换成 cmsis_iccarm.h 就可以了。
找到两文件core_cmInstr.h 和 core_cmFunc.h 里有,换完了世界清净了。

出0入0汤圆

发表于 2018-3-28 11:07:44 | 显示全部楼层
诺飞 发表于 2018-3-28 01:22
警告的意识是 cmsis_iar.h 这文件废弃了,将来的版本将要删除,赶紧别用了。
从根源上解决,全项目文本搜索 ...

我的工程中没有包含 cmsis_iar.h文件,也会提示

出0入42汤圆

发表于 2018-3-28 12:12:32 | 显示全部楼层
其他头文件有包含的,比如项目 Drivers\CMSIS\Include 目录的 core_cmInstr.h 和 core_cmFunc.h 文件。IAR执行文件中查找 cmsis_iar.h,范围选项目文件和头文件。

出0入0汤圆

发表于 2018-3-28 12:12:57 来自手机 | 显示全部楼层
这个方法好啊!谢谢楼主了

出0入0汤圆

发表于 2018-3-28 18:52:44 来自手机 | 显示全部楼层
感谢楼主分享

出0入211汤圆

发表于 2018-4-4 16:27:04 | 显示全部楼层
楼主有没有和谐工具呢?

出0入0汤圆

发表于 2018-4-5 01:07:50 | 显示全部楼层
实测 cmsis_iar.h 替换成 cmsis_iccarm.h 有效

出0入31汤圆

发表于 2018-4-5 06:42:14 来自手机 | 显示全部楼层
打官方的patch

出425入0汤圆

发表于 2018-11-1 09:44:06 | 显示全部楼层
IAR新版本的坑。还有个wchar_t警告怎么处理?

出0入0汤圆

发表于 2019-5-6 14:07:19 | 显示全部楼层
iskywolf 发表于 2018-3-8 09:11
关于'cmsis_iar.h'的warning没看到楼主去掉哪个包含目录。找到另一个解决办法:
1. 进入iar安装目录下这个 ...

这个简单!

出0入0汤圆

发表于 2019-10-26 08:01:20 | 显示全部楼层
测试ok
1. 进入iar安装目录下这个目录:
c:\Program Files (x86)\IAR Systems\Embedded Workbench 8.22\arm\CMSIS\Core\Include\
2.复制cmsis_iccarm.h一份文件出来,改名为cmsis_iar.h
3.将arm\CMSIS\Core\Include\arm\inc\c\下的cmsis_iar.h改名为cmsis_iar.old------貌似应该是这个目录\Embedded Workbench 8.0\arm\inc\c
4.将第3步的cmsis_iar.h文件复制到arm\CMSIS\Core\Include\arm\inc\c\下。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-19 17:57

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表