本文主要讲解:使用J-LinK仿真器,借助于J-Flash软件,如何读取现有的stm32内部的程序(HEX文件),并烧录到另一台新的stm32中。

(前提是原stm32未进行加密处理)


先介绍下载器J-LinK 和 软件J-Flash

上一篇介绍了 J-LinK-OB改造版 仿真/调试器 使用说明:

J-LinK-OB改造版 仿真/调试器 使用说明_m0_46511220的博客-CSDN博客https://blog.csdn.net/m0_46511220/article/details/121132945?spm=1001.2014.3001.5501上文中提到了在 驱动安装 之后,桌面出现以下两个软件,分别是 J-Link 控制检测程序和 J-Flash 下载程序。 J-Flash 软件可以通过 J-Link 下载(烧写,烧录,编程)数据文件 HEX。


Bin,HEX,AXF,ELF文件:

BIN文件

bin文件是单纯的二进制程序文件,按照assembly code顺序翻译成binary machine code,内部没有地址信息。

Bin是直接的内存映象表示,二进制文件大小即为文件所包含的数据的实际大小。不能使用记事本直接打开,要使用bin文件阅读器才能打开。

如果使用bin文件烧录程序时,需要指定下载地址。

一些下载器只能使用BIN文件进行下载,在进行OTA远程升级时必须使用bin文件。

HEX文件

一般是指Intel标准的hex文件,可以使用记事本直接打开,是十六进制数据,包含了基地址、偏移量、校验和、文件开始和结束标志等信息,与bin文件最大的不同就是包含了下载地址。由于hex文件是十六进制数据,而bin文件是二进制数据,如十六进制0xFF,用二进制表示为1111 1111,所以HEX文件要比bin文件大得多。与axf文件相比,不含调试信息,不能用于调试。

可以参考:

GENERAL: Intel HEX File Format (arm.com)https://developer.arm.com/documentation/ka003292/1-0

AXF文件

Axf文件由ARM编译器产生,除了包含bin的内容之外,还附加其他调试信息,这些调试信息加在可执行的二进制数据之前。如进行在Keil环境使用Debug功能时,就是先将axf文件下载到芯片内,才能进行调试。如使用J-Link的J-Scope功能时,必须使用axf文件。

调试信息有以下功用:

1、 可将源代码包括注释夹在反汇编代码中,这样我们可随时切换到源代码中进行调试。

2、 我们还可以对程序中的函数调用情况进行跟踪(通过Watch & Call Stack Window查看)。

3、对变量进行跟踪(利用Watch & Call Stack Window)。

ELF文件(Executableand linking format

是由GCC编译器生成的,是x86 Linux系统下的一种常用目标文件(objectfile)格式。elf文件可以直接转换为hex和bin

例如Linux系统下使用gcc指令gcc -o test test.c生成的 ELF 文件,可以通过./test直接执行。


读取和烧录stm32程序(HEX)的操作步骤:

Jlink连接配置:

第一步:Options->Project settings或者使用快捷键“Alt-F7”打开工程设置界面。选择默认的USB-Device 0

第二步:目标接口方式和速度设置:打开Target Interface选项,选择SWD方式,下边的SWD speed before init和SWD speed after init可以选择为Auto selection。

读取Flash中的程序:

第一步:Option-->Project Settings-->CPU下选择  Device 在下拉菜单中找到自己的芯片型号后点击确定。

第二步:Targect-->Connect链接JLINK  ,LOG栏中会有连接状态显示

连接成功后,Targect-->Read back-->Entrie chip读取整个Flash区域, 接下来就等待读取完成了。

第三步:File-->Save file as 选择要储存的文件类型如:HEX格式,存储就OK了。

写入读取的HEX文件:

第一步:File-->Open  data flie打开相应的HEX文件。

第二步:Targect-->Connect链接JLINK   ;Targect-->Program 等待烧录完成就OK了。

(转载于:JFlash ARM对stm32程序的读取和烧录_白小白-CSDN博客_jflash下载程序步骤)


对stm32程序(HEX)的读取和烧录(使用JLink和JFlash)相关推荐

  1. STM32程序烧录---TTL

    STM32程序烧录-TTL 使用TTL给STM32烧录程序接线方式: TXD-接 PA10/USART1_RX RXD-接 PA9/USART1_TX 3V3 GND 接供电 STM32程序烧录一般使 ...

  2. STM32程序烧录方式总结

    STM32启动模式 在STM32F10xxx里,可以通过BOOT[1:0]引脚选择三种不同启动模式 在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯 ...

  3. STM32程序正常烧录后不能运行的可能原因(关于新旧CUBE的型号问题)

    STM32程序正常烧录后不能运行的可能原因: 1. 没有勾选Mirco Lib: 2. 没有在烧写选项里勾选reset and run,然后自己也没有手动复位,把自己吓到了: 3.对于使用HAL库生成 ...

  4. ubuntu中使用jlink烧录stm32程序

    安装jlink驱动参考https://blog.csdn.net/lc_cc/article/details/66982821 1.以下为通过jlink连接到stm32的操作(红色为命令输入行,部分使 ...

  5. STM32程序的常用的两种烧录方式

    STM32有两种常用的烧录方式,一是利用JLink和STLink调试下载,二是利用串口线直接下载 一.ISP(In-System Programming) 在系统编程,使用引导程序(Bootloade ...

  6. 如何使用ubuntu编译stm32程序

    之前一直在做Linux应用层相关的工作,使用ubuntu编译代码.最近的项目中需要用到stm32,stm32的编译环境为keil5.在一台电脑上装两个编译器总数觉得麻烦,故而想能不能直接使用ubunt ...

  7. SEGGER J-Flash 烧写stm32程序

    SEGGER J-Flash烧写stm32程序 1. 创建工程 2. 下载文件 3. 读回文件 stm32单片机编程常用开发工具有MDK.IAR.STM32Cube系列等.但是等到开发完成之后,转交生 ...

  8. 简单stm32程序编写以及调试

    简单stm32程序编写以及调试 一.环境配置 1.MDK的安装 MDK(Microcontroller Development Kit)是针对ARM处理器,特别是Cortex-M内核处理器的最佳开发工 ...

  9. ARM汇编语言编程-Keil环境搭建及STM32程序的编写

    目录 一.keil环境搭建 1.keil安装 2.注册LIC 3.支持包安装 二.STM32程序 1.新建工程 2.配置环境 三.总结 一.keil环境搭建 推荐百度网盘下载mdk531 mdk31安 ...

最新文章

  1. lists,tuples and sets of Python
  2. android 创建隐藏文件夹吗,Android创建隐藏文件可能文件夹
  3. oracle的sequence是什么,关于Oracle的序列(Sequence)使用内容是什么呢?
  4. python能做表格吗-零基础小白怎么用Python做表格?
  5. iOS经典面试题之分析GCD的dispatch_group任务执行问题
  6. 解决篇:wampserver访问your projects项目,路径不加localhost前缀 - 解决篇
  7. 深度学习在Airbnb搜索推荐中的应用实践
  8. 技术分享连载(八十六)
  9. android 常用代码
  10. STM8S 低功耗(1)
  11. Atitit 文档的格式演变attilax总结
  12. 基于神念TGAM的脑波小车(4)
  13. 数据分析师培训班哪家好?
  14. 复合辛普森公式matlab,复合梯形公式、复合辛普森公式 matlab
  15. 感恩—父亲节、母亲节由来及日期
  16. android 盒子 红白机 模拟器,安卓FC模拟器
  17. 医用计算机是什么意思,pc是什么意思(全网最全解读pc寓意)
  18. C++:66---特殊工具与技术之(不可移植的特性:位域、volatile、extern “C“链接提示)
  19. Java @Data注解
  20. 环保行业舆情管理制度

热门文章

  1. 多个输入框失焦事件触发异常问题解决
  2. Docker 配置 MySQL
  3. chart.js使用学习——雷达图
  4. Navicat报错connection is being used
  5. 计算机毕业设计springboot+vue大学生个人财务管理系统
  6. 达梦DM8-DCA学习笔记
  7. 三国志战略版狼盟和鸿蒙,三国志战略版俘虏有什么用?俘虏作用介绍[多图]
  8. 2021年氟化工艺考试资料及氟化工艺复审模拟考试
  9. 《图解密码技术》——读书笔记
  10. 抗锯齿下采样(Anti-aliasing/down-sampling)-python-numpy 实现