[STM8] 关于STM8的固件库函数占用过多FLASH的问题~

[复制链接]
6321|13
 楼主| 1061zou 发表于 2014-4-9 21:00 | 显示全部楼层 |阅读模式
最近开始接触STM8,发现他的固件库还是相当好用的。
但有一个很大的缺点,有的库函数一调用,就会占用很多FLASH(几千字节),不知道这种情况有没有解决的办法。。不然只能老老实实配置寄存器了。。
FAQ 发表于 2014-4-9 21:47 来自手机 | 显示全部楼层
刚开始入门用固件库这样有助于尽快熟悉资源使用方法。后面熟练就须改用直接操作寄存器了
FAQ 发表于 2014-4-9 21:51 来自手机 | 显示全部楼层
本帖最后由 FAQ 于 2014-4-9 21:53 编辑

固件库里面的例子很好。不看例子直接用寄存器操作感觉很困难,总是容易丢三落四的,每次都会有漏配置的
 楼主| 1061zou 发表于 2014-4-10 08:04 | 显示全部楼层
FAQ 发表于 2014-4-9 21:47
刚开始入门用固件库这样有助于尽快熟悉资源使用方法。后面熟练就须改用直接操作寄存器了 ...

嗯,如果库函数能够占用空间少一点就完美了
拿起书本 发表于 2014-4-10 09:29 | 显示全部楼层
深有同感,我用他的固件库编译出来的程序很大的,很占flash。优化都是最高级的,也不知道有没有什么好的办法。
 楼主| 1061zou 发表于 2014-4-10 14:54 | 显示全部楼层
拿起书本 发表于 2014-4-10 09:29
深有同感,我用他的固件库编译出来的程序很大的,很占flash。优化都是最高级的,也不知道有没有什么好的办 ...

是啊,占用空间太大了,不知道可不可以修改库函数。
huzi2099 发表于 2014-4-10 15:22 | 显示全部楼层
1061zou 发表于 2014-4-10 14:54
是啊,占用空间太大了,不知道可不可以修改库函数。


库占用存储空间大的原因是包含了众多没有用到的函数
keil for arm
options ->c/C++->钩选One ELF....
每函数一个段,可解决
 楼主| 1061zou 发表于 2014-4-10 16:02 | 显示全部楼层
huzi2099 发表于 2014-4-10 15:22
库占用存储空间大的原因是包含了众多没有用到的函数
keil for arm
options ->c/C++->钩选One ELF....

有道理,我想也是这个原因。
我把库函数里用不到的函数删除后占用空间变小了。
但我用的是STM8,使用STVD+COMIC开发环境,找了下,有相关设置,可以直接把不用的函数自动优化掉。
 楼主| 1061zou 发表于 2014-4-10 16:04 | 显示全部楼层
拿起书本 发表于 2014-4-10 09:29
深有同感,我用他的固件库编译出来的程序很大的,很占flash。优化都是最高级的,也不知道有没有什么好的办 ...

看看是不是 7楼说的问题
 楼主| 1061zou 发表于 2014-4-10 16:16 | 显示全部楼层
问题解决了!可以设置一下,使编译器不编译未使用的函数。
QQ图片20140410161657.jpg
不错不错,stm8真好用,就是编译器差一点~~
光晔秋秋 发表于 2015-5-21 10:18 | 显示全部楼层
desertsailor 发表于 2015-5-21 22:07 | 显示全部楼层
根据需要精简掉一些没用到的函数
最后的战役 发表于 2015-7-30 08:51 | 显示全部楼层
顶10楼答案,我之前也遇到这个问题,后来在网上找到这个方法!
lein2006 发表于 2015-10-12 21:15 | 显示全部楼层
赞一个,太棒啦!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:<img src="static/image/smiley/comcom/3.gif" class="vm">

33

主题

237

帖子

1

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