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。如下图所示:
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与我们的设备连接好。
2、此时出现创建项目的相关界面,我们需要做的就是选择对应的目标设备,我们只需要选择STM32F103VG即可,然后点击OK。
3、选择“file”->“open data file”,选择我们之前制作好的ECU-R-Vx.x.hex,并打开。
4、此时看到如图所示的二进制。
5、使用JLink连接设备,点击图中的Connect按键。
6、点击图中“Production Programming”按键进行烧写。
7、出现如图界面表示烧写成功。
关键字:STM32 Jlink烧写 boot 合并烧写
引用地址:
STM32使用Jlink烧写与boot合并烧写的方法
推荐阅读最新更新时间:2024-03-16 16:09
stm32 读取bmp图像的信息
在sd卡文件系统下读取bmp图像和显示是比较容易的,为了给jpeg解码提供一个过程,这里我先介绍一下bmp的读取方式 这里主要是介绍读取bmp信息的一些方法 首先说一下BMP的4个组成部分: 1.文件头信息块 0000-0001:文件标识,为字母ASCII码“BM”。 0002-0005:文件大小。 0006-0009:保留,每字节以“00”填写。 000A-000D:记录图像数据区的起始位置。各字节的信息依次含义为:文件头信息块大小,图像描述信息块的大小,图像颜色表的大小,保留(为01)。 2.图像描述信息块 000E-0011:图像描述信息块的大小,常为28H。 0012-0015:图像宽度。 0016-
[单片机]
STM32 影子寄存器
01、概述 在定时器框图中,有个小细节,有些寄存器下有个阴影 有这些阴影的表示这些寄存器存在影子寄存器。 在图例中也有对影子寄存器的说明: 根据控制位,在发生U事件后,预装载寄存器内容转移到有效寄存器。这也就是对影子寄存器的说明。 有阴影的寄存器(AutoReloadRegister),表示在物理上这个寄存器对应2个寄存器,一个是程序员可以写入或读出的寄存器,称为preloadregister(预装载寄存器),另一个是程序员看不见的、但在操作中真正起作用的寄存器,称为shadowregister(影子寄存器)。 这里有3个寄存器名称 AutoReloadRegister。 preloadregister。 shadowre
[单片机]
STM32开发笔记92: SX1268驱动程序设计(时钟)
单片机型号:STM32L053R8T6 本系列开发日志,将详述SX1268驱动程序的整个设计过程,本篇介绍时钟的相关内容。 一、RC频率参考 Two RC oscillators are available: 64 kHz and 13 MHz RC oscillators. The 64 kHz RC oscillator (RC64k) is optionally used by the circuit in SLEEP mode to wake-up the transceiver when performing periodic or duty cycled operations. Several commands
[单片机]
STM32+机智云AIoT云平台实现智能鸽笼控制
本智能鸽笼控制系统由贵州大学电气工程专业的刘磊、王民慧设计开发完成,基于STM32+机智云AIoT云平台设计专为赛鸽进笼检测的装置,利用机智云平台进行数据的传输交换,通过 WiFi 模块与云端的通信,将采集到的温湿度、归巢时间、告警信号等发送到手机 APP 端,同时在鸽子归巢时通过拨打人员电话,在断网的情况下可以进行按键操作,最终以物联网控制的方式能够对赛鸽进行有效的饲养选育。 正文内容 在赛鸽养殖中,饲养者因为工作生活繁忙等原因将无法按时喂养鸽子,同时赛鸽的养殖往往需要直接接触鸽子羽毛排泄物等,卫生问题尤为突出。在优秀乳鸽的选择上,通常采用给鸽子佩戴高昂的赛鸽计时装置,此外鸽舍内的温湿度直接影响着赛鸽的健康,需要及时对
[单片机]
stm32+sdio+fatfs文件系统 源码分析
一、概述 1、目的 在移植之前,先将源代码大概的阅读一遍,主要是了解文件系统的结构、各个函数的功能和接口、与移植 相关的代码等等。 2、准备工作 在官方网站下载了0.07c版本的源代码,利用记事本进行阅读。 二、源代码的结构 1、源代码组成 源代码压缩包解压后,共两个文件夹,doc是说明,src里就是代码。src文件夹里共五个文件和一个文 件夹。文件夹是option,还有00readme.txt、diskio.c、diskio.h、ff.c、ff.h、integer.h。对比网上 的文章,版本已经不同了,已经没有所谓的tff.c和tff.h了,估计现在都采用条件编译解决这个问题了, 当然文件更少,可能编译选项可能越复杂
[单片机]
如何构建STM32单片机keil的开发环境
新建工程 工程名设为stm32_demo,选择芯片型号为STM32F103B,如图, 因为下载的STM32库中有启动代码,所以这里选择“否”,不拷贝启动代码。 在工程文件下,新建Startup、Headers、User、Libraries、CMSIS、Lists、Output文件夹。 文件夹 用途 Startup 启动文件,Flash在16~32Kb小容量,64~128Kb中容量,256~512Kb大容量 CMSIS Cortex微控制器软件接口标准文件,该目录下文件适用所有Cortex系列 Libraries 存放STM32的驱动库文件 Headers 自定义的全局头文件 User 用户文件,我们把main.c放在该目录
[单片机]
基于STM32对DS1302的驱动
// 程序名: STM32驱动DS1302 //头文件 #include “stm32f10x.h” #include “usart.h” #define uchar unsigned char #define uint unsigned int ////DS1302引脚定义,可根据实际情况自行修改端口定义 #define RST PAout(5) #define IO PAout(6) #define SCK PAout(7) //DS1302地址定义 #define ds1302_sec_add 0x80 //秒数据地址 #define ds1302_min_add 0x82 //分数据地址 #define ds1302_
[单片机]