社区
单片机/工控
帖子详情
IAR编译的文件太大,如何能减小BIN的容量呢
yc102
2014-05-22 04:01:55
我是弄前任编的程序,他留下的BIN文件时64K的,我想改一些东西,没改之前编译了一下程序,结果BIN变成92K了,优化编译还是88K呢,写不进芯片,在不动源文件的情况下,我如何能将文件缩到64K以下呢,芯片是212L4。BIN文件不能超过64K。IAR的文件编译后的容量太大了
...全文
1606
7
打赏
收藏
IAR编译的文件太大,如何能减小BIN的容量呢
我是弄前任编的程序,他留下的BIN文件时64K的,我想改一些东西,没改之前编译了一下程序,结果BIN变成92K了,优化编译还是88K呢,写不进芯片,在不动源文件的情况下,我如何能将文件缩到64K以下呢,芯片是212L4。BIN文件不能超过64K。IAR的文件编译后的容量太大了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wesley
2014-05-31
打赏
举报
回复
多检查下,是不是有很多调试不暂时不用的预编译项! 同时,你确定你的前任就是在这个源码的基础上编译成64K的?
knate
2014-05-31
打赏
举报
回复
92K一下压缩到64K? 代码压缩有点NB了吧. 9成不是编译器优化能做到的. 估计你的项目设置或者架构或者代码的处理上的事.
dceacho
2014-05-24
打赏
举报
回复
IAR没用过 看看有没有那个不包含没有用到的函数 或者看下基本函数库有没有选的
schlafenhamster
2014-05-24
打赏
举报
回复
重复的代码 , 写成 函数 ,即使 省不了多少( 积少成多)
熊已出没
2014-05-23
打赏
举报
回复
用最高优化级别,选择代码大小优化.检查一下是否在release模式下. 如果还不行,估计是你这个项目与的之前不同.IAR,在项目设置可以自定义很多.如果不同都会很大差别. 可能是一些宏定义更改,或者是把一些不需要的文件加入,或者是自定义的其它模式.人为也有可能.
yc102
2014-05-23
打赏
举报
回复
我已经做优化了,由原来的93K优化成88K,前任却弄到了64K(65536)请高手们指点
wesley
2014-05-22
打赏
举报
回复
优化等级,用最高优化级别,会将无用或重复的一些变量信息都减掉。
IAR
生成
文件
链接过程解析
使用
IAR
C/C++ compiler + assembler,对工程的每个".c/.cpp/.asm",分别生成一个.o
文件
,为可重定位ELF,叫做symobol。(内含的目标代码实际为机器码) 使用
IAR
linker对上步产生的 “relocatable objectfiles(eg:可重定位ELF) .o”+“.icf”链接 最终产生可执行ELF或者
bin
等。(IA
IAR
编译
器如何节省代码占用的flash空间?
IAR
编译
器如何节省代码占用的flash空间 最近一直在做一个项目,用的
IAR
的开发环境,芯片的空间flash大小是32kB。在做项目之前评估代码量感觉够用,因此切换平台时选用了32kB的M0+核芯片。可是代码不是你想多大就多大。 所以问题就来了,当芯片的flash空间不足以支撑你的代码量时,如何通过
编译
优化等等各种手段缩小代码的占用空间呢? 常用的手段有以下几种: - 优化代码 - 尝...
IAR
软件中查看代码大小及优化方法
较大的代码体积可能导致存储器资源的紧张,增加成本,并且可能会影响系统的性能。因此,了解如何在
IAR
软件中查看代码大小以及优化代码大小是非常有用的。在
编译
完成后,你可以在
IAR
软件的输出窗口中查看代码大小报告。代码大小报告提供了详细的信息,包括每个源
文件
和函数的代码大小、数据大小以及总代码大小等。删除不必要的代码:检查源代码,删除未使用的变量、函数或不必要的代码段。删除不必要的代码:检查源代码,删除未使用的变量、函数或不必要的代码段。删除不必要的代码:检查源代码,删除未使用. 优化代码大小的方法。
关于ELF可执行
文件
转换为
bin
二进制
文件
反而变大带来的思考和解决方法
文章目录错误现象C程序的
编译
,汇编和链接
编译
常见选项
编译
选项制作动态库方法制作静态库方法链接选项
bin
文件
反而变大原因分析为什么会出现空洞
文件
情况呢?解决方案问题二: 为什么指定了链接脚本,转换为
bin
文件
反而变大了呢?建立测试代码通过交叉
编译
链进行默认的链接编写链接脚本通过链接脚本进行链接解决方法参考资料 错误现象 当我们在进行嵌入式的程序编写的时候,往往需要将我们在虚拟机生成的ELF可执行
文件
转换为二进制的
文件
。 原因:ELF可执行
文件
是针对于带有Linux操作系统的情况下才能使用,而当我们处于裸机的时
makefile如何
减小
可执行
文件
的大小(没有用到的函数不参与链接)
一、问题 在linux下玩makefile玩的多了,发现一个问题。程序总是越编越大,换句话说就是程序
编译
出来的可执行
文件
总是在不停的增大,特别是加入了外部的静态库之后,程序
文件
显著增大,造成程序下载耗时增大,甚至造成程序空间溢出,FLASH不够用。 我分析了一下,虽然所引用的静态库本身确实很大,但是我的程序中只用到了其中几个函数,按理来说,它只取这几个函数进行链接,链接之后的可执行
文件
不应该那么大...
单片机/工控
27,382
社区成员
28,770
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章