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

[复制链接]
7083|12
 楼主| hsw_21 发表于 2009-11-15 11:07 | 显示全部楼层 |阅读模式
单片机FLASH空间不够,就差一点点,大家说说一般怎么处理比较好?

如果优化软件,一般优化哪些方面,能够节省空间。(c语言编程)
tg.liu 发表于 2009-11-15 11:28 | 显示全部楼层
直接把优化级别设高一点试一试
chen3bing 发表于 2009-11-15 11:29 | 显示全部楼层
你的软件都完成什么功能?
我以前优化程序,把代码重复的做成子程序调用。
machunshui 发表于 2009-11-15 11:53 | 显示全部楼层
提高优化级别能解决最好,

否则
换片子为好.
要是不换片子,
往往会把程序结构搞得一塌糊涂.
BitFu 发表于 2009-11-15 15:43 | 显示全部楼层
看看你的程序,能否写一个共用的函数在两个或以上函数中调用!
这就能节省空间。
ejack 发表于 2009-11-15 15:50 | 显示全部楼层
单纯说优化的话,将重复的源代码段尽量合并统一调用。看看编译结果是否加载了不必要的库,能否规避。对应着汇编看看哪里编译的效果不满意,适当修改。编译器也是有脾性的,把他伺候舒服了,他同样能让你满意的……

如果是产品的程序,请考虑以后是否有可能升级?
俺干过这样的事情,为了降低成本将程序挤进Flash少点的片子,花了不少心思优化,当时心里还挺美……
结果上头下令添加功能就傻眼了……咳……
古道热肠 发表于 2009-11-15 16:17 | 显示全部楼层
哈哈,这个得在选型是就留个后手,如果实在塞不下了,换大Flash的PIN To Pin兼容的MCU上去,专门给只关心性能的顾客用.
古道热肠 发表于 2009-11-15 16:20 | 显示全部楼层
如果顾客关心成本,就尽量优化底层驱动尺寸,然后裁剪应用层功能,达到用户要求的功能即可,关掉一切无用的模块.通常能省一大块,当然代码中要预称用宏定义将功能模块化.
草履虫 发表于 2009-11-17 12:00 | 显示全部楼层
如果是C51的话,对不同的C的语句处理的效率有明显的不同。
myfaith 发表于 2009-11-17 12:36 | 显示全部楼层
如果是C的话,代码长度和占用存储器大小并非线性正比,有时多一些语句占用空间还更小,去掉一些语句还占更多空间.这主要是汇编时生成不同的汇编.
HWM 发表于 2009-11-17 12:41 | 显示全部楼层
如果是C的话,代码长度和占用存储器大小并非线性正比,有时多一些语句占用空间还更小,去掉一些语句还占更多空间.这主要是汇编时生成不同的汇编.
myfaith 发表于 2009-11-17 12:36

那是因为没“斩草除根”。
cys_a 发表于 2009-11-17 12:44 | 显示全部楼层
只能优化了。
大碗拉面 发表于 2009-11-17 19:51 | 显示全部楼层
选型是关键啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

417

主题

2675

帖子

1

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