STM32中flash大小-hex文件大小-bin文件大小之间的关系

来源:互联网 发布:数据挖掘模型分类 编辑:程序博客网 时间:2024/05/21 09:05

之前一直以为STM32flash空间大小和hex文件相关,hex文件大小超过flash大小后程序就会出问题,最近因为做项目添加的新功能,fBootLoader生成的hex文件过大,以为分配的不够,但是不想去改flash空间分配的大小,于是就想到了bin文件,然后查了bin文件如何直接烧写进芯片,这样生产就不会太慢,找到了方法,觉得很麻烦,于是就在想为什么hex文件和bin文件一样的程序大小会相差这么多呢,于是乎查了一下他们之间的详细区别,发现如下关系

1、flash大小和hex文件大小没有关系

     我们在用串口下载程序时一般都是用的hex文件下载,所以会产生误导,以为hex文件大小和flash大小息息相关,hex文件大小超过了flash大小就会出问题,这种想法时相当错误的,hex文件大小和flash大小完全没有关系,真正烧写进去的是二进制文件,在hex文件中包含了bin文件的信息

2、hex文件大小和bin文件大小没有决定性关系

  hex文件内容很多,其中就包含了bin文件二进制的内容,所有很多软件都能直接把hex文件转化成bin文件,烧写进flash的文件不是hex而是一堆bin文件

3、flash大小和bin文件大小息息相关

  bin文件就是完全的程序文件,里面包含了所有的程序内容,bin文件烧写进flash就可以执行,可以用STlink进入仿真查看相关的flash,就是bin文件内容

0 0