[开发工具] 不使用microlib,使用AC6,编译出错

[复制链接]
 楼主| wandersky 发表于 2022-5-17 13:45 | 显示全部楼层 |阅读模式
本帖最后由 wandersky 于 2022-5-17 13:50 编辑

不使用microlib, 程序中使用printf(), 一直没有成功,调试过程如下;
如果不定义_sys_open(),报如下错误
test\test.axf: Error: L6915E: Library reports error: __use_no_semihosting was requested, but _sys_open was referenced
Not enough information to list load addresses in the image map.
Finished: 1 information, 0 warning and 1 error messages.
如果定义_sys_open(),报如下错误:
test\test.axf: Error: L6200E: Symbol _sys_open multiply defined (by sys_io.o and main.o).
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
定不定义sys_open(),都不会编译成功。



故意相遇 发表于 2022-7-22 00:04 | 显示全部楼层
这不正常么,你用microlib就好了啊
风凉 发表于 2022-7-22 00:26 | 显示全部楼层
其实可以自己写printf的,这个ST是有例程的

捧一束彼岸花 发表于 2022-7-22 00:47 | 显示全部楼层
你可以看看网上,不使用microlib的话,怎么实现printf
西洲 发表于 2022-7-22 01:09 | 显示全部楼层
我知道是可以重定义的,这个我见过

白马过平川 发表于 2022-7-22 01:31 | 显示全部楼层
你可以http://t.zoukankan.com/birdBull-p-15697213.html参考一下,这个链接,是可以的

温室雏菊 发表于 2022-7-22 01:53 | 显示全部楼层
. 我觉得不是AC6的事儿哈,可能就是你没重指向导致的

月亮一键变蓝 发表于 2022-7-22 02:16 | 显示全部楼层
你用microlib呗,这个勾选一下就解决这个问题了

在曼谷的春 发表于 2022-7-22 06:06 | 显示全部楼层
Printf属实很好用,但是你需要选择microlib才行,或者自己写一个printf的函数

我吃小朋友 发表于 2022-7-22 06:29 | 显示全部楼层
这个错误可能是你名字重复了,导致错误的
一只眠羊 发表于 2022-7-22 06:52 | 显示全部楼层
嗯,看你这个报错可能就是sys_open重定义导致了

SantaBunny 发表于 2023-3-1 12:43 | 显示全部楼层
不能定义到你选项已经设置的地址空间里面。
中国龙芯CDX 发表于 2023-3-1 19:40 | 显示全部楼层
跟Ac6有什么关系
bestwell 发表于 2023-6-8 07:17 | 显示全部楼层
microlib 不符合 ISO C 库标准。
claretttt 发表于 2023-6-8 13:37 | 显示全部楼层
如果不想使用Microlib,则可以选择使用标准C库。
burgessmaggie 发表于 2023-6-8 15:40 | 显示全部楼层
重定义printf后开启编译器的microlib即可。
wangdezhi 发表于 2023-6-13 23:24 | 显示全部楼层
标准C库包含了大量的函数和头文件,可以满足绝大部分的应用需求。
dspmana 发表于 2023-6-14 11:44 | 显示全部楼层
不支持某些 ISO 特性,并且其他特性具有的功能也较少。
hilahope 发表于 2023-6-14 16:17 | 显示全部楼层
用Keil编译程序时数据段过长怎么办?
eefas 发表于 2023-6-14 17:31 | 显示全部楼层
Microlib是一种C运行库,它具有很小的代码尺寸和内存占用量
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

189

帖子

2

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