Keil V4.72升级到V5.1X之后
问题描述
Keil V4.72升级到V5.1x之后,原来编译通过的工程,出现了如下错误:
.\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\STM32f10x.h(298): error: #67: expected a "}
原因分析
Keil V4.72版本的情况:在使用STM32的库文件的时候,我们在Device一栏中选择了器件,比如说STM32F103VET6,但是我们还需要在C/C++一栏的Preprocessor Symbols中添加宏STM32F10X_HD,这样编译才能通过。对应不同容量的芯片,这个宏也要对应的进行修改。
Keil V5.1x版本的情况:我们在Device一栏中选择了器件,比如说STM32F103VET6,那么我们在C/C++一栏的Preprocessor Symbols中是无需添加宏STM32F10X_HD的。因为软件会自动的根据不同容量的器件生成这样的宏。比如说我们的Device为STM32F103R8T6,软件自动会生成宏STM32F10X_MD,而无需用户添加。这当然是ARM公司和ST公司进行商量,然后决定这样处理,显然这对于用户来说使用更方便。
在我们软件升级之后,可能之前我们定义的宏和器件实际应该对应的宏不一致,就会出现上述错误。因为相当于对于一个编译变量,我们定义了两次。比如说器件为STM32F103VET6,我们的定义的宏为STM32F10X_MD,而软件自动又生成了一个宏STM32F10X_HD,这在编译的时候肯定会造成错误。
解决办法
将C/C++一栏的Preprocessor Symbols中的宏STM32F10X_(x)D删除,重新编译即可。
Keil V4.72升级到V5.1X之后的更多相关文章
- Keil V5.1x命令“Build Target”重新编译所有文件
网上的解决办法有多种,但不知道哪一种能对症,以下是我的解决方法:
- 【重要更新】Senparc.Weixin SDK v4.4 升级说明
本次更新同时影响以下所有Senparc.Weixin相关版本的dll: Senparc.Weixin.dll 升级到 v4.4.2(重要) Senparc.Weixin.MP.dll 升级到 v13. ...
- 吉日嘎拉C#快速开发平台V4.0到V4.2升级记
目前我用的版本是4.0的,也有近2年没更新了,狠了狠心升级一下,没想到真的行动起来,也没那么难! 用了3天时间,将吉日嘎拉的代码升级到了4.2版本,并让原来的DotNet.WebApplication ...
- easyradius通讯接口 V4全新升级,显示同步失败原因,方便用户寻找故障
最近一段时间,我们做了很多的努力,不仅完成了WayOs.BV.ROS.IK.PA接口的重写(主要加入智能判断,能处理的直接处理,不能处理的告诉用户),而且在原有DDNS访问失败的提示下,升级了同步失败 ...
- MySQL V5.6.37升级到V5.6.38
简单!万事先备份 cp /usr/my.cnf /home/xx/ cp -r /var/lib/mysql/dbname /home/xx/ mysqldump -u root -ppasswd - ...
- fastDfs V5.02 升级到 V5.08版本后,启动报错:symbol lookup error: /usr/bin/fdfs_trackerd: undefined symbol: g_current_time
/libfastcommon-1.0.36 # ./make.sh cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o hash.o ...
- 从Keil 4升级到Keil 5的工程,想返回来用Keil 4打开
情景描述: 笔者电脑程序Keil 4升级到Keil 5,相应地,原来项目上的工程也在第一次用Keil 5打开的时候进行了升级.之后,由于客户需要开发资料,其版本为Keil 4,我尝试着用Keil 4打 ...
- Senparc.Weixin SDK v5.0 升级公告
经过五年半的持续维护,Senparc.Weixin SDK 逐步丰满和完善,在升级的过程中,我们为基础库(Senparc.Weixin.dll)加入了许多通用的功能,例如加密/解密算法.通用缓存方法等 ...
- [原创] Keil uVision5 下载程序 add flash programming algorithm选项缺少需要的算法解决办法
MDK开发环境从V4升级到V5后,支持包不再是集成到开发环境当中,而是封装在PACK中,需要自行安装,比较麻烦. 搭建MDK开发环境以及破解的方法,在前面的文章中有详细说明,这里不再赘述,有兴趣的可以 ...
随机推荐
- 用css做类似表格的布局
--2013年6月24日12:08:49 今天突然不想用table了,就在园子里找了几个用css的解决办法,直接上代码: --1.html代码: <!DOCTYPE html PUBLIC &q ...
- 机器学习之SVM(支持向量机)
支持向量机(SVM)是当前非常流行的监督学习方法,其核心主要有两个: 构造一个极大边距分离器--与样例点具有最大可能距离的决策边界: 将在原输入空间中线性不可分的样例映射到高维空间中,从而进行线性分离 ...
- [改善Java代码]子列表只是原列表的一个视图
List接口提供了subList方法,其作用是返回一个列表的子列表.这与String类的subString有点类似.但是他们的功能是否相同?看代码: import java.util.ArrayLis ...
- [未完成][Mooc]关于Linxu的总结(一)
视频1:Linux之前有个Minix(这个是一个教授用来教学用的)开源的,不是编译过的,不能通过QQ.exe找到其源码.后来Linus这个家伙搞了一个Linux.服务器领域超过百分之八十.linux是 ...
- MySQL DBA 刚入职时如何快速拥抱新的环境
方法何其多.这里介绍的是懒人做法.也就是.借助工具 但是.生产环境是不能随便安装程序的.肿么办? 没关系.我们伟大的percona 已经为我们考虑周详鸟 这里.我们要借助三个工具: ...
- 【转载】常用Maven插件介绍
http://www.cnblogs.com/crazy-fox/archive/2012/02/09/2343722.html 我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构 ...
- 第五十六篇、OC打开本地和网络上的word、ppt、excel、text等文件
iOS打开本地和网络上的word.ppt.excel.text等文件 iOS开发过程中可能需要预览一些文件,这些文件的格式可能有word.ppt.excel等文件格式.那么系统提供两个类去预览这些文件 ...
- Linux 查看系统版本及位数
1. 查看内核版本命令: 1) [root@www ~]# cat /proc/version Linux version 2.6.9-22.ELsmp (bhcompile@crowe.dev ...
- Linux下安装和配置java开发环境(jdk/eclipse/tomcat)
第一步 安装jdk 1.进入usr目录 cd /usr 2.在usr目录下建立java安装目录 mkdir java 3.将jdk-6u24-linux-i586.bin拷贝到java目录下 cp j ...
- css笔记——css 实现自定义按钮
css实现自定义按钮的样式实际上很早就有了,只是会用的人不是很多,里面涉及到了最基础的css写法,在火狐中按钮还是会显示出来,这时需要将i标签的背景设置为白色,同时z-index设置比input高一些 ...