良许Linux教程网 干货合集 使用Jlink来合并烧写文件,就是这么简单!

使用Jlink来合并烧写文件,就是这么简单!

Jlink使用技巧之合并烧写文件

前言

IAP(In-application-programming),即在应用中编程。当产品发布之后,可以通过网络方便的升级固件程序,而不需要拆机下载程序。IAP系统的固件一般由两部分组成,即BootLoader Code和Application Code,并存储在不同起始地址的空间里:

image-20230929211140719
image-20230929211140719

系统运行时,先运行Bootloader程序,检测状态,判断是执行应用程序还是升级固件。在实际开发过程中,这两段程序一般是单独编写,然后生成两个Bin文件,为了方便下载程序,可以把两个文件合并为一个文件,这样会节省很多时间。本文将介绍如何使用JFlash来合并两个Bin文件或者两个Hex文件。

准备

  • 要合并的文件1:bootloader.hex,起始地址:0x8000000
  • 要合并的文件2:app.hex,起始地址:0x20001000,如果是Bin文件要先确定起始地址。
  • JFlash软件

创建工程

和之前下载程序一样,首先要新建一个工程。

1.打开JFlash

image-20230929211144748
image-20230929211144748

2.创建新工程

点击 File->NewProject

3.选择芯片的型号

这里支持很多ARM Cortex内核的芯片,选择对应的芯片,我这里选择的是STM32F103RE系列。

image-20230929211156509
image-20230929211156509

4.打开要合并的程序文件1:bootloader.hex

点击File -> Open data file,打开bootloader程序。

image-20230929211200875
image-20230929211200875
image-20230929211205259
image-20230929211205259

5.打开要合并的程序文件2:app.hex

点击File -> Merge data file,打开app程序。

image-20230929211208992
image-20230929211208992
image-20230929211213109
image-20230929211213109

保证,bootloader程序起始地址+bootloader代码大小不超过app程序的起始地址,如下图示意:

image-20230929211232447
image-20230929211232447

6.保存合并后的文件

点击File->Save data file as,将合并后的文件另存,可根据需要选择要保存的文件类型。

image-20230929211223853
image-20230929211223853

注意

如果要合并的文件为bin文件,自身不带地址信息,所以会让你指定地址,注意不要互相重叠地址。所以最好各种文件生成的时候就保存为带地址信息的格式,比如hex。关于Hex文件和Bin文件的区别,可以参考文章:BIN、HEX、AXF、ELF文件格式有什么区别

image-20230929211219351
image-20230929211219351

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部