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开发环境以及破解的方法,在前面的文章中有详细说明,这里不再赘述,有兴趣的可以 ...
随机推荐
- Ventuz配置Leap Motion环境
1.下载Leap Dev Kit 前往官网www.leapmotion.com,下载相应平台的开发包,目前PC版的最新版本为2.3.1. SDK里包含了Leap Motion的安装包,上图第二个.安装 ...
- 最长非降/下降子序列问题(DP)(待续...)
注意:抽象成以下描述即为最长非降/下降子序列问题(一维状态) 问题描述:在一个无序的序列a1,a2,a3,a4…an里,找到一个最长的序列满足:(不要求连续) ai<=aj<=ak…< ...
- jquery 60秒倒计时(方法二)
<script type="text/javascript">var wait=60;document.getElementById("btn"). ...
- ASP判断当前页面上是否有参数ID传递过来
遇到了一个这样的ASP问题: 在当前页面上判断,是否有参数ID传递过来? 如果没有,显示“没有参数传递过来”. 如果有传递,但值为空,显示“存在参数,但参数为空” <% if (request( ...
- CentOS 关闭蜂鸣
临时:sudo rmmod pcspkr 永久 /etc/inputrc文件中把 set bell-style none 前的注释去掉,改为 set bell-style off 转自:http:// ...
- 【转】揭开Socket编程的面纱
对TCP/IP.UDP.Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵.那么我想问: 1. 什么是TCP/IP.UDP?2. Sock ...
- 比较X与Y的大小,绝对精准!!!!!!
代码! #include<stdio.h> int max(int a,int b) { int x; x=a+b; return x; } int main() { int i,n,t; ...
- (POJ 2318)TOYS 向量叉积
题目链接:http://poj.org/problem?id=2318 #include<stdio.h> #include<cstdlib> #include<cstr ...
- 阅读《Oracle内核技术揭秘》的读书笔记
阅读<Oracle内核技术揭秘>,对oracle的内存结构.锁.共享池.undo.redo等整理成了如下的思维导图:
- Windows Phone 为指定容器内的元素设置样式
在Windows Phone中设置元素样式有多种 拿TextBlock来说 1.我们可以直接在控件上设置: <TextBlock Text="自身样式设置" Width=&q ...