这个问题,在我接触的单片机初学者当中,很多人都遇到过,是什么问题呢?
给大家举个栗子:

先介绍一下常识:
hex文件,就是我们要下载到单片机中的程序文件,而每一种单片机,都有一定的程序存储空间,一般就是多少K的Flash,例如STC15W408AS是8K的Flash,就是8K的程序存储空间,STC15W404AS就是4K的程序存储空间。
如果你写的程序大于4K,那就不能用4K的单片机,而要用4K以上的单片机才可以。这个道理简单吧。
引出问题:
我们写好的程序,到底是多大呢?
很多人会看上图中的hex文件在windows中的大小,如上图,是4K。不过,这并不是它占用单片机程序存储空间的大小。占用单片机程序存储空间的大小,可以在编译软件里面看到:

这里显示的1点多K就是真正的占用单片机程序存储空间大小。
你是否被这个问题困扰过呢?
技术专区
- mybatis动态sql详解
- 用VHDL语言设计数据传输系统中的HDB3编码器
- 裸机程序如何驱动硬件?看前辈是怎么说的
- 应用面向对象编程SoC原则的典型示例
- 嵌入式开发之java常用开发工具介绍











