打印
[STM8]

STM8 编译效率的问题

[复制链接]
2399|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我现在使用IAR for stm8,使用芯片为STM8L101F3P6,这个芯片Flash有8K,对于8位单片机来说,我觉得应该是足足有余了。可是,我现在程序还没写完呢,空间已经不够了,IAR的优化级别已调到最高,我也把一些long、short 型数据能去掉的去掉,不能去掉的用char 来操作,结果虽然好点,但空间还是不够。这款芯片8K又是最高了,没法替代。内存空间确是足够用了。
想来,只有一种方式可供选择,就是选择更高效率的编译器,不知哪位大侠有没有比较过各个IDE,有的话,给点建议,在此谢过!~
另外,有没有更高版本的IAR for stm8?其编译效率能有提升?
沙发
airwill| | 2013-12-17 12:06 | 只看该作者
编译器好像还不是很多, 我看算法优化倒值得研究一下, 说不定可以大幅度地下降.

使用特权

评论回复
板凳
airwill| | 2013-12-17 12:08 | 只看该作者
编译器好像还不是很多, 我看算法优化倒值得研究一下, 说不定可以大幅度地下降.

使用特权

评论回复
地板
xxiao6130| | 2013-12-17 13:39 | 只看该作者
看来只好优化一下你的程序了

使用特权

评论回复
5
MakeBetter|  楼主 | 2013-12-17 14:29 | 只看该作者
程序已极度优化了,能省省,能合并合并了

使用特权

评论回复
6
MakeBetter|  楼主 | 2013-12-17 14:30 | 只看该作者
听说CXSTM8+ST Visual Develop 能有很高的效率,准备试一下。

使用特权

评论回复
7
jiayue| | 2013-12-17 15:06 | 只看该作者
汇编吧 stm8汇编效率很高的..

使用特权

评论回复
8
香水城主| | 2013-12-17 15:25 | 只看该作者
不要用那个蛋痛的库,库函数会吃内存的,而且是悄悄地吃

使用特权

评论回复
9
拿起书本| | 2013-12-17 16:20 | 只看该作者
CXSTM8+ST Visual Develop ,也听说了,正准备下载了,不知是什么版本的,正要去看看好呢。

使用特权

评论回复
10
gpjun2008| | 2013-12-17 16:22 | 只看该作者
要么换stvd,听说效率高点;要么换芯片;要么程序优化。

使用特权

评论回复
11
MakeBetter|  楼主 | 2013-12-17 22:41 | 只看该作者
香水城主 发表于 2013-12-17 15:25
不要用那个蛋痛的库,库函数会吃内存的,而且是悄悄地吃

库的问题就不用说了,早就丢了。

使用特权

评论回复
12
MakeBetter|  楼主 | 2013-12-17 22:43 | 只看该作者
gpjun2008 发表于 2013-12-17 16:22
要么换stvd,听说效率高点;要么换芯片;要么程序优化。

看来也只有这几个方法了。但程序优化是弄了很久了。

使用特权

评论回复
13
MakeBetter|  楼主 | 2013-12-17 22:43 | 只看该作者
jiayue 发表于 2013-12-17 15:06
汇编吧 stm8汇编效率很高的..

让我转汇编是不可能的。写8K的汇编?那就想死了。又不能移植,换平台就死了。

使用特权

评论回复
14
nongfuxu| | 2013-12-18 08:01 | 只看该作者
编译器好像还不是很多, 我看算法优化倒值得研究一下, 说不定可以大幅度地下降.

是啊。
算法,加上好的代码风格。

使用特权

评论回复
15
zh_sl| | 2013-12-18 09:23 | 只看该作者
stm8多数指令占32位的,你不能按8位来算

使用特权

评论回复
16
MakeBetter|  楼主 | 2013-12-19 10:23 | 只看该作者
好了,测试结果来了:

xxx2.jpg (10.13 KB )

xxx2.jpg

xxx1.jpg (24.31 KB )

xxx1.jpg

使用特权

评论回复
17
MakeBetter|  楼主 | 2013-12-19 10:27 | 只看该作者
以上就是结果,第一张是 CXSTM8+ST Visual Develop 编译结果,当然,stm8l101 的8k是放不下,我换了个151编译的。至于csmic为什么会显示编译后代码大小,大家可以去看【诗诺比】的插件。
第二张图是IAR经过了大代码压缩后的结果,还是可以放下的。
以上两个是相同代码。

使用特权

评论回复
18
奔牛滚滚| | 2013-12-19 12:22 | 只看该作者
看看哪个模块占用多就优化哪个模块

使用特权

评论回复
19
l4157| | 2014-1-8 21:30 | 只看该作者
本帖最后由 l4157 于 2014-1-8 21:43 编辑

如有可能可以放一些不常用CONST到EEPROM,不过STM8L101的EE也含在8K中...

使用特权

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

本版积分规则

61

主题

506

帖子

0

粉丝