打印

FLASH空间不够了,大家有什么高招。

[复制链接]
5423|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hsw_21|  楼主 | 2009-11-15 11:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
tg.liu| | 2009-11-15 11:28 | 只看该作者
直接把优化级别设高一点试一试

使用特权

评论回复
板凳
chen3bing| | 2009-11-15 11:29 | 只看该作者
你的软件都完成什么功能?
我以前优化程序,把代码重复的做成子程序调用。

使用特权

评论回复
地板
machunshui| | 2009-11-15 11:53 | 只看该作者
提高优化级别能解决最好,

否则
换片子为好.
要是不换片子,
往往会把程序结构搞得一塌糊涂.

使用特权

评论回复
5
BitFu| | 2009-11-15 15:43 | 只看该作者
看看你的程序,能否写一个共用的函数在两个或以上函数中调用!
这就能节省空间。

使用特权

评论回复
6
ejack| | 2009-11-15 15:50 | 只看该作者
单纯说优化的话,将重复的源代码段尽量合并统一调用。看看编译结果是否加载了不必要的库,能否规避。对应着汇编看看哪里编译的效果不满意,适当修改。编译器也是有脾性的,把他伺候舒服了,他同样能让你满意的……

如果是产品的程序,请考虑以后是否有可能升级?
俺干过这样的事情,为了降低成本将程序挤进Flash少点的片子,花了不少心思优化,当时心里还挺美……
结果上头下令添加功能就傻眼了……咳……

使用特权

评论回复
7
古道热肠| | 2009-11-15 16:17 | 只看该作者
哈哈,这个得在选型是就留个后手,如果实在塞不下了,换大Flash的PIN To Pin兼容的MCU上去,专门给只关心性能的顾客用.

使用特权

评论回复
8
古道热肠| | 2009-11-15 16:20 | 只看该作者
如果顾客关心成本,就尽量优化底层驱动尺寸,然后裁剪应用层功能,达到用户要求的功能即可,关掉一切无用的模块.通常能省一大块,当然代码中要预称用宏定义将功能模块化.

使用特权

评论回复
9
草履虫| | 2009-11-17 12:00 | 只看该作者
如果是C51的话,对不同的C的语句处理的效率有明显的不同。

使用特权

评论回复
10
myfaith| | 2009-11-17 12:36 | 只看该作者
如果是C的话,代码长度和占用存储器大小并非线性正比,有时多一些语句占用空间还更小,去掉一些语句还占更多空间.这主要是汇编时生成不同的汇编.

使用特权

评论回复
11
HWM| | 2009-11-17 12:41 | 只看该作者
如果是C的话,代码长度和占用存储器大小并非线性正比,有时多一些语句占用空间还更小,去掉一些语句还占更多空间.这主要是汇编时生成不同的汇编.
myfaith 发表于 2009-11-17 12:36

那是因为没“斩草除根”。

使用特权

评论回复
12
cys_a| | 2009-11-17 12:44 | 只看该作者
只能优化了。

使用特权

评论回复
13
大碗拉面| | 2009-11-17 19:51 | 只看该作者
选型是关键啊

使用特权

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

本版积分规则

418

主题

2675

帖子

1

粉丝