[ARM9、LPC] ARM __use_no_semihosting_swi 模式的一些问题

[复制链接]
4309|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

粉丝
快速回复 在线客服 返回列表 返回顶部