你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STVD + COSMIC + STM8S_StdPeriph编译后,为啥占用片内很大空间啊!

[复制链接]
netmouse-286983 提问时间:2014-4-9 23:16 /
 如题,例子在附件里。
使用ST固件库占用空间Program Size: Code=3303 Eeprom=0 ZeroPage=14 Ram=0
把固件库的寄存器揪出来后占用空间Program Size: Code=406 Eeprom=0 ZeroPage=10 Ram=0
相差近乎10倍了!不知道是我哪里设置不对,还是别的问题?

STVD ver4.35
COSMIC ver4.3.4:
STM8S_StdPeriph ver2.1.0

STM8_Reg.rar

下载

210.36 KB, 下载次数: 7, 下载积分: ST金币 -1

STM8_StdPeriph.rar

下载

211.1 KB, 下载次数: 4, 下载积分: ST金币 -1

收藏 评论4 发布时间:2014-4-9 23:16

举报

4个回答
那片清茶 回答时间:2014-4-10 08:45:13

RE:STVD + COSMIC + STM8S_StdPeriph编译后,为啥占用片内很大空间啊!

本来就是这样的。因为它的库对于所有的8S芯片都很用,而且包含了所有的内容。往往我们用不到很多的功能,但是编译器还是会把这些函数编译起来。但是寄存器就不一样,针对性强。所以内存占用不同了。你可以用库的里面在debug里面设置一下,把用不到的函数剔除到编译,这样会节约很多空间。
废鱼 回答时间:2014-4-10 10:47:55

RE:STVD + COSMIC + STM8S_StdPeriph编译后,为啥占用片内很大空间啊!

这个可以选择需要的库来添加,不需要的可以先不添加。
netmouse-286983 回答时间:2014-4-10 20:30:43

RE:STVD + COSMIC + STM8S_StdPeriph编译后,为啥占用片内很大空间啊!

先谢谢两位的回答。
还是自己解答吧。原来是编译器把所有函数都编译链接导致占用空间较大。在C compiler的Optimizations里选中Split functions。。。。。。。即可,编译链接后会小很多。
feiante-155820 回答时间:2014-4-12 23:19:31

RE:STVD + COSMIC + STM8S_StdPeriph编译后,为啥占用片内很大空间啊!

楼主的方法是一个解决方法,同时在工程中,把不用到的功能库不要加到工程中,这样也会小的
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版