3941|8

86

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

RealViewMDK一项功能,节约STM32芯片32%的CODE使用量 [复制链接]

   安装了MDK3.23版本之后,在keilarmoardsembeststm32v100开发板例程中,使用Blinky的例程,该例程含有LCD显示,ADC,USART,GPIO,NVIC等功能,在C/C++选项中使用三级优化-o3选项后编译结果:Code=7764,RO-data=468,RW-data =24,ZI-data=1392.如果您再稍作调整,即在其他配置不变的情况下在C/C++中选择one ELF Section per Function的话,编译结果为Code=5260,RO-data=468,RW-data =24,ZI-data=1392 .Code节约了约32.25%。
分析原因:STM32芯片的编程大多采用ST公司提供的库文件。这些库文件中大量而全面的定义了芯片的结构以及初始化,但是有些库文件中的结构体或者函数根本在主程序中没有调用到,白白的占用了大量的代码空间,使用该选项后,则将这些冗余的配置全部删除了,因此节约了CODE空间。
    冗余去无踪,代码更出众!!!
此帖出自stm32/stm8论坛

最新回复

                                 可以试一下。用IAR编译,没有用的模块在conf文件中全打开和不打开代码量是一样的!   详情 回复 发表于 2008-9-29 14:53
点赞 关注
 

回复
举报

80

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

这些事情完全可以手工去完成的

                                 把没有用到的库文件从工程里删除,是不是一样的效果?
此帖出自stm32/stm8论坛
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

并不只是优化文件

                                 MDK的这个功能不仅仅是优化文件,她还删除了所有没有用到的结构体和函数,如果你愿意把每个结构体,每个函数都检查一遍有没有用到的话,那你就手工去完成了
此帖出自stm32/stm8论坛
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

4
 

                                 个人认为好的编译器最高级优化应该会做这些事情。
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

5
 

re

好落后..
IAR 不连接没有被调用的变量、函数早是N年前就可以了
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

6
 

楼上说的好虚

                                 N年前就有了??希望楼上的拿出点数据或者事实证明一下啊,有没有这个功能俺们也不知道,虽然俺用IAR很久了
此帖出自stm32/stm8论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

7
 

Swd21ic

                                 好像谁都知道没有被调用的变量、函数肯定是不会被链接的吧?但是编译器会不会为这些变量,函数分不分配存储空间就不太清楚了。谁有资料?研究一下
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

8
 

如果楼主只是说不连接未使用的函数

如果楼主只是说不连接未使用的函数,

这很普通的功能。
IAR,GCC都有。
此帖出自stm32/stm8论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

9
 

IAR有这功能的

                                 可以试一下。用IAR编译,没有用的模块在conf文件中全打开和不打开代码量是一样的!
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表