广告

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

2019-5-10 16:04 612 5 3 分类: MCU/ 嵌入式 文集: JLink使用技巧
前言

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

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

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

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

1.打开JFlash

打开JFlash

2.创建新工程

点击 File->NewProject

3.选择芯片的型号

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

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

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

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

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

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

6.保存合并后的文件

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

注意

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

JLink软件的下载

JLink_Windows_V614b软件下载链接:JLink_Windows_V614b.exe(https://wcc-blog.oss-cn-beijing.aliyuncs.com/BlogFile/JLink_Windows_V614b.exe)

作者: whik, 来源:面包板社区

链接: https://www.mianbaoban.cn/blog/uid-me-3887760.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

广告

文章评论 4条评论)

登录后参与讨论

zhanglii2011_392530165 2019-6-5 12:36

hex文件我也merge过

curton 2019-5-16 14:55

whik: 系统BUG吗?
不是  有时候会回复两次

whik 2019-5-16 14:18

curton: 学习
系统BUG吗?

curton 2019-5-13 16:21

学习
相关推荐阅读
whik 2019-06-04 22:54
【ST开发板评测】使用Python来开发STM32F411
前言板子申请了也有一段时间了,也快到评测截止时间了,想着做点有意思的东西,正好前一段时间看到过可以在MCU上移植MicroPython的示例,就自己尝试一下,记录移植过程。MicroPython是什么...
whik 2019-05-17 12:08
Jlink使用技巧之烧写SPI Flash存储芯片
前言大多数玩单片机的人都知道Jlink可以烧写Hex文件,作为ARM仿真调试器,但是知道能烧写SPI Flash的人应该不多,本篇文章将介绍如何使用JLink来烧写或者读取SPI Flash存储器,J...
我要评论
4
5
广告
关闭 热点推荐上一条 /2 下一条