如果减小烧录文件

[复制链接]
4034|9
 楼主| 宇航3000 发表于 2011-4-24 22:57 | 显示全部楼层 |阅读模式
我现在用GCC写的一个程序100行左右,但编译后生成的HEX文件差不多5K了, 我想用ATTiny13里做这个小项目,但他的FLASH 才有1K , 有什么方法可以减小HEX文件的大小呢?

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
原野之狼 发表于 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文件的大小是真正程序的大小而不包含其他没有的东西在里面呢?
Metalor 发表于 2011-4-25 13:24 | 显示全部楼层
可以用烧录软件转成BIN
yewuyi 发表于 2011-4-25 13:58 | 显示全部楼层
FLASH空间大小和hex文件大小不是一回事情。
原野之狼 发表于 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

查看全部评分

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


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

本版积分规则

30

主题

165

帖子

2

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