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

    浏览量

    24277
  • 编译器
    +关注

    关注

    1

    文章

    1623

    浏览量

    49102
  • BIN文件
    +关注

    关注

    0

    文章

    26

    浏览量

    8282
收藏 人收藏

    评论

    相关推荐

    能否16个ADS1282的CLK、RESET、SCLK、SYNC管脚分别连在一起

    我想用ADS1282做16个通道的同步采集系统,输出管脚通过SPI连接到FPGA上,但是接插件的管脚不够用,能否16个ADS1282的CLK、RESET、SCLK、SYNC管脚分别连在一起
    发表于 12-04 07:12

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

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

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

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

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

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

    将5G信号链与电平转换结合在一起

    电子发烧友网站提供《将5G信号链与电平转换结合在一起.pdf》资料免费下载
    发表于 09-18 14:49 0次下载
    将5G信号链与电平转换结合<b class='flag-5'>在一起</b>

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

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

    请问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 828次阅读

    数字地跟模拟地能不能接一起,数字地跟模拟地的区别

    数字地和模拟地在些情况下可以接在一起,但在另外些情况下需要分开处理。这主要取决于具体的应用场景和设计要求。
    的头像 发表于 06-10 16:31 2857次阅读

    IAP跳转APP开始可以,如果从APP跳回IAP后再跳到APP失败的原因?

    (); ----------------- 请问为什么第次可以从IAP跳到APP,第二次如果是从APP跳到IAP,那么就不可能再次跳到
    发表于 04-23 07:24

    labview全景图像拼接

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

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

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

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

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

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

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