目录
一、程序的组成
1、编译结果:
程序运行前 | 程序执行时 | ||
程序组成 | 说明 | 存储位置 | 存储位置 |
Code | 机器代码指令 | ROM(flash) | ROM(flash) |
RO-data | 常量 | ROM(flash) | ROM(flash) |
RW-data | 初值非零的全局变量、static变量 | ROM(flash) | 拷贝到RAM |
ZI-data | 初值为0的全局变量、局部变量、malloc动态分配的空间 | RAM | RAM |
2、编译的程序大小超过flash的大小时,会报错
二、bin文件
1、纯粹的二进制数据文件;
2、bin文件大小 = Code + RO-data + RW-data
三、hex文件
1、hex文件是个格式规范的文本文件,是用ASCII码来表示二进制的数值;
四、hex文件和bin文件的关系
1、hex文件包含了bin文件的内容,所以可以把hex文件转换成bin文件,而不能把bin文件转成hex文件;
2、hex文件是包含地址信息的,而bin文件只包含数据本身;
3、在烧写或下载hex文件的时候,不需要用户指定地址,因为hex文件已经包含了地址信息;而烧写bin文件的时候,用户一定要指定地址信息;
4、不管烧录hex文件还是bin文件,最终烧录的都是bin文件的内容;