打印
[ZLG-ARM]

请问如何在ADS中使用printf()函数??

[复制链接]
5113|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ccy668|  楼主 | 2008-7-7 11:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   我使用的是smart 2200开发板, 现在通过串口联接打印机, 想通过printf()函数向打印机输出数据, 可是printf()无法编译通过, 已经include <stdio.h>
错误报告如下, 请高手及周工的工程师指点一下, 如何才能使用printf()函数??

Error   : L6200E: Symbol _sys_close multiply defined (by sys_io.o and target.o).

Error   : L6200E: Symbol _sys_write multiply defined (by sys_io.o and target.o).

Error   : L6200E: Symbol _sys_read multiply defined (by sys_io.o and target.o).

Error   : L6200E: Symbol _sys_istty multiply defined (by sys_io.o and target.o).

Error   : L6200E: Symbol _sys_seek multiply defined (by sys_io.o and target.o).

Error   : L6200E: Symbol _sys_ensure multiply defined (by sys_io.o and target.o).

Error   : L6200E: Symbol _sys_flen multiply defined (by sys_io.o and target.o).

Error   : L6200E: Symbol __semihosting_swi_guard multiply defined (by use_semi.o and use_no_semi.o).

Not enough information to list the image sizes and/or totals.

Finished: 1 information, 0 warning and 8 error messages.

相关帖子

沙发
XDream| | 2008-7-7 22:15 | 只看该作者

警告显示“多次定义”

使用特权

评论回复
板凳
我学MCU| | 2008-7-9 10:20 | 只看该作者

你自己是不是定义了一个同名称的了?

使用特权

评论回复
地板
zhonggx| | 2008-7-14 09:48 | 只看该作者

禁用semihosting

printf 默认是通过_semihosting输出到调试器终端的。如果你要输出到串口,就是要申明一个_NO_semihosting的常量。告诉编译器你不用SEMIHOSTING的功能,同时需要重写sys_io,看你样子是用了ZLG的模板,已经在TARGET中定义了底层函数,在保证正确的情况要,你只要禁用semihosting就可以了。

使用特权

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

本版积分规则

31

主题

100

帖子

1

粉丝