打印

如果减小烧录文件

[复制链接]
3013|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我现在用GCC写的一个程序100行左右,但编译后生成的HEX文件差不多5K了, 我想用ATTiny13里做这个小项目,但他的FLASH 才有1K , 有什么方法可以减小HEX文件的大小呢?

另外, 我用ATMega16来仿真的, 但是下面编译后的信息不是很清楚,program 和 data的百分比分别指什么?
希望大家指点一下

Build.JPG (43.9 KB )

Build.JPG

相关帖子

沙发
原野之狼| | 2011-4-24 23:30 | 只看该作者
program指程序区
data指数据区

并没有用到5K,而是1450字节,HEX不等于BIN。

占用程序空间比较大是由于有些库文件链接进来了 看看你的代码包含了哪些头文件 以及你的MAKEFILE是怎么写的

使用特权

评论回复
板凳
宇航3000|  楼主 | 2011-4-25 13:02 | 只看该作者
多谢“原野之狼” 。  那就是说我的程序大小才1.45K了, 但是我烧录的时候必须烧录HEX文件的啊,他的大小是否可以调到和program指程序区(1.45K)的大小呢 ?
MAKEFILE都是默认的, 还有GCC可以生成BIN文件不?

使用特权

评论回复
地板
宇航3000|  楼主 | 2011-4-25 13:10 | 只看该作者
我怎么才能让HEX文件的大小是真正程序的大小而不包含其他没有的东西在里面呢?

使用特权

评论回复
5
Metalor| | 2011-4-25 13:24 | 只看该作者
可以用烧录软件转成BIN

使用特权

评论回复
6
yewuyi| | 2011-4-25 13:58 | 只看该作者
FLASH空间大小和hex文件大小不是一回事情。

使用特权

评论回复
7
原野之狼| | 2011-4-25 17:30 | 只看该作者
本帖最后由 原野之狼 于 2011-4-25 17:32 编辑
我怎么才能让HEX文件的大小是真正程序的大小而不包含其他没有的东西在里面呢?
宇航3000 发表于 2011-4-25 13:10

HEX文件并没有包含其它的东西在里面,只不过是用了另外一种方式来描述你的二进制代码,具体请搜索相关资料学习。
当用烧录软件打开HEX文件时,自动转换成BIN文件到缓冲区里,这个时候观察缓冲器的内容和汇编之后的内容是一致的。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
宇航3000 + 1 good ,thanks
8
strang| | 2011-4-25 19:50 | 只看该作者
原野之狼  解释的很详细。。。

使用特权

评论回复
9
zxx6176| | 2011-4-25 22:05 | 只看该作者

使用特权

评论回复
10
宇航3000|  楼主 | 2011-4-26 12:49 | 只看该作者
HEX文件并没有包含其它的东西在里面,只不过是用了另外一种方式来描述你的二进制代码,具体请搜索相关资料学习。
当用烧录软件打开HEX文件时,自动转换成BIN文件到缓冲区里,这个时候观察缓冲器的内容和汇编之后的 ...
原野之狼 发表于 2011-4-25 17:30


thanks

使用特权

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

本版积分规则

30

主题

165

帖子

2

粉丝