打印
[STM8]

cosmic 编译时时库文件中没有用到的函数也编译了

[复制链接]
3057|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cosmic 编译时时库文件中没有用到的函数也编译了,有什么解决方法吗?
将用不到的函数删除后,编译好的文件就小很多。
沙发
Simon21ic| | 2011-9-1 00:02 | 只看该作者
香版,这个是我们下半年的一个批量项目,第一次使用STM8,请尽量帮忙解决,谢谢。

使用特权

评论回复
板凳
汉之云| | 2011-9-1 10:25 | 只看该作者
在 《C Cross Compiler User’s Guide for ST Microelectronics STM8》里面有方法:
1. 在 project settings - c complier - category /optimizations 中 选中 +split,目的是使函数在编译时模块化

2. 在 project settings - linker - category /input - segment - .text 的options 中 加入 ‘-k’ 选项,目的是在链接时将不使用的函数模块优化掉

使用特权

评论回复
地板
香水城| | 2011-9-1 12:26 | 只看该作者
谢谢3楼,好像很多人问过这个问题。

使用特权

评论回复
5
smartpower|  楼主 | 2011-9-1 21:26 | 只看该作者
本帖最后由 smartpower 于 2011-9-1 21:56 编辑

方法1(8楼).编译时只选minimize code size选项 编译后最后一条指令地址为81e7
方法2(7楼).按3楼所提供方法编译后最后一条指令的地址为81e9
方法3(6楼).手工删除stm8L10x_gpio.c中没有用到的函数,编译只选minimize code size选项,编译后最后一条指令的地址为8177.

使用特权

评论回复
6
smartpower|  楼主 | 2011-9-1 21:34 | 只看该作者
本帖最后由 smartpower 于 2011-9-1 21:50 编辑

5楼测试时的3种方法相关图片如下:

方法3:
该方法的gpio.c文件中只有用到的3个函数




使用特权

评论回复
7
smartpower|  楼主 | 2011-9-1 21:38 | 只看该作者
本帖最后由 smartpower 于 2011-9-1 22:12 编辑

方法2:




mini_prj.JPG (15.97 KB )

mini_prj.JPG

使用特权

评论回复
8
smartpower|  楼主 | 2011-9-1 21:45 | 只看该作者
方法1:





使用特权

评论回复
9
smartpower|  楼主 | 2011-9-2 11:38 | 只看该作者
希望 知道 解决方法的 朋友来指导一下!!

使用特权

评论回复
10
smartpower|  楼主 | 2011-9-4 21:11 | 只看该作者
有那位 大侠 出来指导一下下啊!!!!!!

使用特权

评论回复
11
smartpower|  楼主 | 2011-9-4 21:12 | 只看该作者
别沉 了。

使用特权

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

本版积分规则

29

主题

442

帖子

11

粉丝