STM32使用Jlink烧写与boot合并烧写的方法

时间:2023-02-20 16:01:02

1 概述

本文主要描述STM32的bootloader及应用程序HEX文件的合并,以及相应的烧写方法。

2 适用范围

1.  相关的开发人员
2.  需要烧写的其他人员

3 创建烧写使用的HEX文件

3.1 Hex文件的获取

通过对ECU-R以及Bootloader程序的编译获得我们所需要的两个hex文件。ECU-R对应的HEX文件名为STM32_RTT_F107RC.hex,Bootloader对应的Hex文件名为Project.hex。如下图所示:

STM32使用Jlink烧写与boot合并烧写的方法

3.2 Hex文件的合并

由于现在ECU-R的程序包括Bootloader和应用程序两个部分,但是为了减少生产中的工作量,需要将两个HEX文件合并为1个Hex文件。具体方法如下:

首先我们先来简单看下HEX文件格式:
:020000040000FA                                    文件头记录
:1000000018F09FE518F09FE518F09FE518F09FE5C0      程序区开始
……
……(中间的省略)
……
:080690002C2100000000000015                        程序区结束
:00000001FF                                        文件结束(EOF)记录

接下来我们需要用记事本新建一个文本文件,命名为ECU-R-Vx.x.hex 。将Project.hex中内容全部复制到新文件中,复制STM32_RTT_F107RC.hex文件程序区(除了第一行和最后一行外)并插入到ECU-R-Vx.x.hex文件最后一行之前,之后保存文件即可。

4 使用J-flash烧写程序

4.1 J-Flash的安装

J-Flash是在安装Jlink驱动的时候一起安装的程序,故在此不多做解释。

4.2 程序烧写

1、打开J-Flash,此时出现如下界面,这时候需要我们选择一个项目。当然,现在我们并没有项目,所以选择“Create a new project”,同时将JLINK与我们的设备连接好。

STM32使用Jlink烧写与boot合并烧写的方法
2、此时出现创建项目的相关界面,我们需要做的就是选择对应的目标设备,我们只需要选择STM32F103VG即可,然后点击OK。
STM32使用Jlink烧写与boot合并烧写的方法
3、选择“file”->“open data file”,选择我们之前制作好的ECU-R-Vx.x.hex,并打开。
STM32使用Jlink烧写与boot合并烧写的方法
4、此时看到如图所示的二进制。
STM32使用Jlink烧写与boot合并烧写的方法
5、使用JLink连接设备,点击图中的Connect按键。
STM32使用Jlink烧写与boot合并烧写的方法
6、点击图中“Production Programming”按键进行烧写。
STM32使用Jlink烧写与boot合并烧写的方法
7、出现如图界面表示烧写成功。
STM32使用Jlink烧写与boot合并烧写的方法