|
本帖最后由 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》
|