打印
[ARM9、LPC]

ARM __use_no_semihosting_swi 模式的一些问题

[复制链接]
3859|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shitingliang|  楼主 | 2015-1-4 20:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TI, ARM, ST, os, Semi
最近在移植一个开源项目,代码采用标准ANSI C写的,里面调用了一些C库函数,例如 fopen() fclose() exit(),system() rand()等等库函数,把代码加入工程里面编译 出错,Error: L6200E: Symbol __semihosting_swi_guard multiply defined (by use_semi.o and use_no_semi.o). 一直弄不明白

代码大概意思如下
#pragma import(__use_no_semihosting_swi)
pf=fopen("\\","w");

相关帖子

沙发
xinzha| | 2015-1-5 11:09 | 只看该作者
__use_no_semihosting_swi情况下如果你想调用这些库函数,就得你自己的工程文件中有相应的库函数实现。如果使用semihosting_swi的话,调试时rvds/ads允许这些调用重定位到host上的库函数。

使用特权

评论回复
板凳
shitingliang|  楼主 | 2015-1-5 17:44 | 只看该作者
xinzha 发表于 2015-1-5 11:09
__use_no_semihosting_swi情况下如果你想调用这些库函数,就得你自己的工程文件中有相应的库函数实现。如果 ...

谢谢,问题已经解决,通过查阅ADS用户手册还有网上的一些资料,代码终于编译通过了,是标准库函数的底层接口都要全部重定义到目标系统,程序能够正常运行了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝