0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何把IAP与APP程序进行拼接在一起

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-03 14:26 次阅读

1写在前面

产品量产时,产品具有IAP和APP两部分程序时,一般需要拼接成一个量产程序文件。

有人肯定会好奇,为什么要拼接成一个程序文件呢?

这个答案很简单:为了提高生产效率,在量产只烧录一个程序文件(而不是烧录IAP + APP两个程序文件)。

下面写几点内容:

理解bin、hex、axf

IAP+APP拼接方法

bin和hex互相转换

2

理解bin、hex、axf

想要掌握程序IAP+APP程序拼接,需要理解程序文件hex、bin文件格式内容。

先给一张三者的对比图:

Bin文件

Bin文件就是一种没有格式的程序文件,只是包含了程序数据。

Hex文件

Hex是由Intel制定的一种十六进制标准文件格式,是由编译器转换而成的一种用于下载处理器里面的文件。

Hex文件格式是由一行一行的十六进制数据组成,每行包含:开始、长度、数据、类型、校验和等重要信息

axf文件

axf文件是经过编译器编译之后,包含具有程序、调试等更多信息的一种文件。

对比MDK-ARM编译后三个文件大小

Objects目录下:

Demo.axf(236K)

Demo.hex(4K)

Bin目录下:

Demo.bin(2K)

请参看:关于bin、hex和axf文件格式的描述

3

IAP+APP拼接方法

用于产品量产,烧录的程序文件,一般是hex,或bin文件。

不管是hex文件,还是bin文件,我们都需要通过烧录软件 +烧录(编程)工具实现。

烧录软件针对不同MCU,一般有不同的烧录软件。

针对STM32,一般建议使用官方提供的STVP、ST-LINK Utility和STM32CubeProg这三种编程软件。

拼接说明

拼接IAP+APP两段程序,一般简单方法就是:将两个程序分别烧录进去,再统一读取出来,保存成一个量产文件。

拼接说明

IAP和 APP程序的起始地址是不同的,因此烧录进芯片,是存储在两片区域的。

烧录程序的时候,特别是烧录bin文件(没有地址)时,要注意设置好起始地址。hex文件有地址地址,不用自己设置地址。

读取“合并”程序的时候,同样要注意起始地址,还有读取大小,保证读取全部程序。

比如通过ST-LINK Utility读取STM32程序:

通过STM32CubeProg读取STM32程序:

再次提示:

烧录bin文件时,设置好起始地址;

读取时,设置起始地址,读取大小;

保存可选择hex,还是bin文件;

这里推荐阅读:我的ST-Link专栏

4

bin、hex文件互相转换

在某些情况下需要使用特定格式的文件,比如我们远程升级,要求通过bin文件实现。

通过上面的介绍,其实你会发现,使用编程软件ST-LINK Utility,或STM32CubeProg,就能直接另存为hex,或bin文件格式。

ST-LINK Utility另存为:

STM32CubeProg另存为:

之前我有介绍在MDK-ARM中,直接转换成bin文件的文章:MDK-ARM如何生产Bin文件

当然,bin和hex格式文件互相转换的工具,网上有很多,感兴趣的朋友可以搜索了解一下。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IAP
    IAP
    +关注

    关注

    2

    文章

    163

    浏览量

    24198
  • 编译器
    +关注

    关注

    1

    文章

    1615

    浏览量

    49007
  • BIN文件
    +关注

    关注

    0

    文章

    26

    浏览量

    8254
收藏 人收藏

    评论

    相关推荐

    OLED拼接屏被经常利用在哪些领域?

    OLED拼接屏是种高端的显示技术,它可以将多个OLED屏幕拼接在一起,形成个大屏幕显示器。这种技术在广告牌、展览、演出、电影院等领域得到了广泛的应用。下面是OLED
    的头像 发表于 11-01 11:14 76次阅读
    OLED<b class='flag-5'>拼接</b>屏被经常利用在哪些领域?

    请问三片PCM1864如何级联在一起

    现用三片PCM1864实现多路MIC信号实时采集,时钟信号接在一起,数据信号分别接到DM8168的McASP接口的AXn的数据接口上。来做级联是否可以。
    发表于 10-24 08:08

    隔离电源的地能接在一起吗,隔离电源能不能直接共地使用

    不能接在一起。在使用隔离电源时,需要将隔离电源的输入和输出端的地线分别接在接地柱和接地线上,而不能将它们接在一起。实际上,如果将隔离电源两端的地线接在一起,会导致接地系统的干扰,降低系
    的头像 发表于 10-01 16:27 945次阅读

    模拟地和电源地能接在一起

    模拟地和电源地是否能接在一起,取决于电子系统的具体要求和设计。在电子系统中,地(Ground)是个共同的参考点,用于构建电位参考平面。电源地是所有电源网络的参考点,用于确保电源的稳定性和系统的正常工作。模拟地则与模拟电路相关,用于提供参考电位。
    的头像 发表于 09-15 11:43 701次阅读

    请问14引脚的VCA821的正负电源为什么有两个?使用时怎么和电源接在一起

    请问14引脚的VCA821的正负电源为什么有两个?使用时怎么和电源接在一起?是4个都要接吗?GRAND引脚直接接地吗?
    发表于 08-23 07:33

    DAC8771RGZ电流输出端IOUT和电压输VOUT出端是连在一起的,是否可以不并在一起

    请教下DAC8771RGZ这款芯片,看官方demo板,电流输出端IOUT和电压输VOUT出端是连在一起的,是否可以不并在一起,分成两路,单独分别输出电流或电压吗?
    发表于 08-08 07:59

    普通门电路的输出端能否连在一起

    普通门电路的输出端能否连在一起,取决于具体的应用场景和需求。普通门电路的输出端能否连在一起个复杂的问题,涉及到数字电路设计、逻辑电路分析、信号完整性、电源管理等多个方面。 门电路的基本概念 在
    的头像 发表于 07-30 15:13 553次阅读

    labview全景图像拼接

    本人是个小白直在求labview的两张或多张图片拼接,就像相机全景样,但是直都找不到。网上只有个垂直的
    发表于 03-08 09:45

    作为导线,铜线和铝线有何区别?可以接在一起吗?

    作为导线,铜线和铝线有何区别?可以接在一起吗? 铜线和铝线是两种常用的导线材料,用于电力输送和电器连接。虽然它们都具备导电功能,但在性能、用途和优势方面存在些区别。本文将对铜线和铝线进行详细比较
    的头像 发表于 02-18 13:52 4939次阅读

    打造震撼大屏幕:拼接显示系统的完美方案

    显示系统的基本原理和类型至关重要。拼接显示系统通过将多个显示屏幕拼接在一起,形成个连续的、高分辨率的大屏幕。常见的拼接方式包括物理拼接和软
    的头像 发表于 01-26 14:30 730次阅读

    零线和地线连在一起为什么漏电保护器跳闸

    零线和地线连接在一起会导致漏电保护器跳闸的主要原因是短路。当零线与地线直接相连时,电流将通过这个连接形成个低阻抗回路,从而绕过了电器设备。漏电保护器检测到电流绕过电器设备并流失到地线,误认为是漏电现象,因此会触发跳闸保护。
    的头像 发表于 01-09 09:19 4145次阅读

    AD7606的AGND和VXGND是否定要接在一起

    ,但是现在有个问题就是,采集的结果有时正常有时不正确的结果,就是采集卡的结果有时跳动非常大,但是AGND和VXGND接在一起后全部都正常了。 请问是否AGND和VXGND定要
    发表于 12-14 07:36

    AD7606第26引脚是不是在芯片内部与其他的AGND连接在一起了?

    AD7606的芯片,第26引脚是不是在芯片内部与其他的AGND连接在一起了 测了下,26脚与第2、41、47连接在一起,但与40、35引脚不通 40、35引脚在手册上也是AGND,有什么特殊的么?
    发表于 12-04 07:30

    为什么在电网中使用多个变压器连接在一起形成变电站?

    为什么在电网中使用多个变压器连接在一起形成变电站? 在电网中使用多个变压器连接在一起形成变电站有多个原因,这些原因包括电网的稳定性、电能输送的效率、负荷分配的需要以及电网的可靠性等等。以下是对于每个
    的头像 发表于 11-23 14:19 635次阅读

    铜线和铝线接在一起会发生什么?有哪些优缺点?

    铜线和铝线接在一起会发生什么?有哪些优缺点? 铜线和铝线是两种常见的导电材料,它们都有其独特的优点和缺点。如果将铜线和铝线接在一起,会在定程度上影响电流的传输和系统的稳定性。下面将详细介绍铜线
    的头像 发表于 11-22 17:45 3345次阅读