找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1517|回复: 5
收起左侧

为什么单片机烧录软件提示HEX文件过大,却能成功烧录?

[复制链接]
ID:205485 发表于 2022-4-15 08:43 | 显示全部楼层 |阅读模式
        请教大家:我有一个HEX文件要下载到PIC的16F877A芯片上,HEX文件180K,16F877A的ROM只有64K,所以烧录软件(PICkit3)提示HEX文件过大,可是试着下载,却提示成功了。感觉比较奇怪,虽然知道HEX文件的下载后没有实际那么大,可我这个HEX文件足足大出3倍,也没问题吗?还是根本没有下载成功过,只是一个假象呢?
回复

使用道具 举报

ID:983641 发表于 2022-4-15 12:09 | 显示全部楼层
烧录器会把HEX转换为二进制文件的。
回复

使用道具 举报

ID:121859 发表于 2022-4-15 13:00 | 显示全部楼层
提示HEX文件过大,是因为其超过了你所选单片机的容量;能够正常烧录是因为仅仅烧录进去单片机的最大容量空间的数据。多余部分没有烧录进去。
回复

使用道具 举报

ID:883242 发表于 2022-4-15 15:55 | 显示全部楼层
你把HEX文件的格式读一遍,一般是bin文件的2.5倍大小,而bin文件才是真正的烧写进去的大小。
回复

使用道具 举报

ID:1018783 发表于 2022-4-15 23:20 | 显示全部楼层
单片机多数是有余量的
回复

使用道具 举报

ID:205485 发表于 2022-4-17 11:23 | 显示全部楼层
谢谢各位指教,我刚才查了一下资料,发现自己闹了一个乌龙,16F877A的ROM只有8K。也就是说,虽然我们都知道HEX文件在烧录的时候被转换成了二进制文件,实际没有原先那么大,但180K的HEX文件,缩减成8K是不大可能的。所以我觉得二楼的说的有道理,软件提示烧录成功,是因为实际上只烧录了8K的东西进去,还有很多没烧录进去呢,也就是说是“假烧录成功”。不知道是不是这样呢。我把这个烧录成功的芯片实测了确实无法使用。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表