标题: 关于51单片机hex文件大小超过flash的问题 [打印本页]

作者: 山水间    时间: 2020-12-22 14:16
标题: 关于51单片机hex文件大小超过flash的问题
大家好,我在做一个项目,有的51单片机的flash有8k,而我的程序hex大小有10k,导致程序无法烧录,请问有什么办法解决这个问题吗?请大神指导,谢谢!

作者: szb314    时间: 2020-12-22 14:23
改程序换芯片
作者: 小牢头    时间: 2020-12-22 14:41
单片机的FLASH空间是BIN,HEX要转化为BIN才是真正的大小,差距不大就先尽力优化程序,实在不行再换芯片
作者: wulin    时间: 2020-12-22 14:54
hex文件大小不能直接反映所占用flash大小。以STC15W404AS为例,用户程序区4K,实测空间大小4089字节。此例hex文件11.2KB,下载到STC15W404AS,占用用户程序区3947字节。


作者: yyj1234    时间: 2020-12-22 15:33
楼上说的对
作者: yixuanwenwen    时间: 2020-12-22 16:25
改程序或者换个芯片吧
作者: Y_G_G    时间: 2020-12-22 17:28
优化,
不行就换单片机
再不行,用汇编重写
作者: rayin    时间: 2020-12-23 08:53
要么缩减可有可无的function以缩小hex代码空间,要么就换flash空间大的IC
作者: xiaopeng199    时间: 2020-12-23 11:17
HEX存放的是地址和数据,Bin存放的是单数据,下载时下载的是数据,关于大小,HEX文件会比实际BIN的数据文件大。
作者: 15951216685    时间: 2020-12-23 16:56
你的hex文件里还有一些其他的数据,不需要烧到单片机里,所以即使文件稍微大于32k也可以。 只要能下载成功就说明没有问题。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1