KEIL编译stdarg处理机制遇到incorrect use之类的问题
文章转自:https://blog.csdn.net/chengdong1314/article/details/74625528
SYD8801是一款低功耗高性能蓝牙低功耗SOC,集成了高性能2.4GHz射频收发机、32位ARM Cortex-M0处理器、128kB Flash存储器、以及丰富的数字接口。SYD8801片上集成了Balun无需阻抗匹配网络、高效率DCDC降压转换器,适合用于可穿戴、物联网设备等。具体可咨询:http://www.syd-tek.com/
KEIL编译stdarg处理机制遇到incorrect use之类的问题
在编译MO内核的SYD8801蓝牙芯片的时候有些电脑会出现如下错误:
这个错误根本原因是ADS软件和MDK软件的兼容问题,ADS和MDK一样,也是使用ARMCC编译器,如果事先已经装好了ADS软件再装MDK软件的话,环境变量中的ARMCCINC和ARMCCLIB将是ADS软件下的目录,而MDK软件引用了ADS软件下的文件就会出现问题,解决办法如下博客:
摘录于:http://www.cnblogs.com/yihuihong/articles/4964868.html
/************************************************************************************************/
如果以前玩过ARM7,使用过ADS软件,那么安装新版本的keil(4.6以上)就会有环境变量冲突问题,解决方法,网上有很多,
1、卸载ADS重装keil,这种方法不可取!
2、删除ADS下的环境变量,两种环境只能使用一个!
3、还有就是在keil的LINker下加入条件“--libpath=C:\Keil\ARM\ARMCC\lib”,每个工程都要添加,麻烦!
上面的三种方法都都太麻烦或者存在弊端,最好的方法如下:
在我的电脑点击属性
--->高级--->环境变量---->系统变量,修改环境变量:ARMCC5LIB
变量值:C:\Keil\ARM\ARMCC\lib(keil的安装目录,视您的安装情况更改)
让这个环境变量指向MDK的目录即可!
/************************************************************************************************/
..\FATFS\src\ff.c(3995): error: #928: incorrect use of va_start
..\FATFS\src\ff.c(3995): error: #253: expected a ","
..\FATFS\src\ff.c(3995): error: #29: expected an expression
..\FATFS\src\ff.c(4026): error: #929: incorrect use of va_arg
..\FATFS\src\ff.c(4037): error: #929: incorrect use of va_arg
..\FATFS\src\ff.c(4052): error: #929: incorrect use of va_arg
..\FATFS\src\ff.c(4052): error: #929: incorrect use of va_arg
..\FATFS\src\ff.c(4052): error: #929: incorrect use of va_arg
如果还是报错,stdarg.h头文件还是被指向ADS的文件夹。我后来自己又加了一个环境变量:ARMCC5INC C:\Keil\ARM\ARMCC\include(MDK的安装路径),再编译就OK了。仅供参考。
KEIL编译stdarg处理机制遇到incorrect use之类的问题相关推荐
- Keil编译报错:Cannot open include file: 'stdbool.h': No such file or directory问题解决
Keil编译出现报错:Cannot open include file: 'stdbool.h': No such file or directory,或者出现Error: L6411E: No co ...
- centos内核编译与其签名机制
centos内核编译与其签名机制 linux内核3.7引入的签名机制,极大地方便了对内核模块的安全认证,同时也为操作系统厂家提供了IP保护的技术手段.不过,凡事有利也有弊.对刚刚接触具有签名机制的内核 ...
- golang编译之vendor机制
原文地址:golang编译之vendor机制 Go 1.5引入了vendor 机制,但是需要手动设置环境变量 GO15VENDOREXPERIMENT= 1,Go编译器才能启用.从Go1.6起,,默认 ...
- Keil编译错误 error: L6050U: The code size of this image (99784 bytes) exceeds the maxim
Keil编译错误,提示 error: L6050U: The code size of this image (99784 bytes) exceeds the maxim 原因:Keil没有激活. ...
- keil编译后报错Error:L6218E的解决方法
KEIL编译后报错 -\OBJ\USART.axf: Error: L6218E: Undefined symbol ADC_Cmd (referred from adc.o). -\OBJ\USAR ...
- keil编译c语言检测,keil c中没有使用到的函数会编译时候会有警告
想写一个模块,模块里面有我常用的一些功能函数,比如: a.h文件 #ifndef _a_h_ #define _a_h_ extern void one(void); extern void two( ...
- Keil 编译前后 自动将 hex 转 bin
After Buid/Rebuid 选项下的Run#1 打上勾,在后一格添加一行代码,此代码的功能为将Objects下的project.axf文件转换为project.bin文件输出至Objects ...
- keil编译后显示的Program size含义
示例 使用keil编译完成后, 程序会弹出如下类似信息, 可能有些人不关注此类信息, 其实某些时候还是挺有帮助的, 比如裁剪程序尺寸, 使其大小能装进目标机器运行时; Program Size: Co ...
- 【Keil编译警告】warning C316:unterminated conditionals
[Keil编译警告]warning C316:unterminated conditionals Keil编译警告 warning C316:unterminated conditionals 可能某 ...
最新文章
- 【Android Gradle 插件】ProductFlavor 配置 ( multiDexEnabled 配置 | multiDexKeepFile | multiDexKeepProguard )
- Spring Security 4 Method security using @PreAuthorize,@PostAuthorize, @Secured, EL--转
- face_recognition快速入门
- eclipse启动tomcat 访问http://localhost:8080 报404错误
- mybatis报错:Could not find result map java.lang.Integer
- Huffman树压缩和解压文件
- k8s高可用集群_搭建高可用集群(部署master2和node节点)---K8S_Google工作笔记0058
- 实时音频混音技术在视频直播中的实践应用
- 百度地图API的第一次接触——右键菜单
- 搜索引擎只能抓取html文件,为什么有些明明存在的网页不能被搜索到?
- 11.6 ConfigParser模块
- ubuntu无法打开系统设置的解决办法
- python多因素方差分析_统计科学之多因素方差分析
- SCAU高级语言程序设计--实验6 循环结构(二)(1)
- 第四届组织医学与再生医学国际学术研讨会(CTERM-BT 2019)
- 计算机软件高级证书试题,高级程序员认证考试经验总结
- python小程序之天天向上
- PotPlayer不支持S/W HEVC(H.265)解码怎么办?一招解决所有的不支持解码
- Pikachu靶场暴力破解通关
- 阈值分割:基本全局阀值法、上下阀值法、迭代法