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

这篇具有很好参考价值的文章主要介绍了对stm32程序(HEX)的读取和烧录(使用JLink和JFlash)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

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


先介绍下载器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。

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


 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

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

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

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

读取Flash中的程序:

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

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

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

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

连接成功后,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下载程序步骤)文章来源地址https://www.toymoban.com/news/detail-448733.html


到了这里,关于对stm32程序(HEX)的读取和烧录(使用JLink和JFlash)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • J-Link/JFlash 下载STM32等芯片中程序的方法

    (1)J-Link 下载器使用前请参考《J-Link/JFlash 简介与驱动安装方法》进行驱动安装。 J-Link/JFlash 简介与驱动安装方法-CSDN博客 (2)如《J-Link/JFlash 简介与驱动安装方法》所述,本文章中J-Link的使用采用J-Link OB 进行说明,该下载器为性价比较高的标准SWD接口的下载器,参考链接

    2024年01月22日
    浏览(76)
  • 使用STM32 ST-LINK Utility 烧录程序,ST LINK烧录程序,解锁FLASH

    :ST LINK烧录程序,STLINK烧录程序,ST-LINK烧录程序,STLINK烧录程序,ST LINK解锁Flash ST-LINK Utility下载:文末附带下载地址,免费下载、免积分下载。 使用 ST-Link 连接 STM32芯片,打开STM32 ST-LINK Utility 软件, 连接芯片:Tarage  - connec t或直接点击连接快捷按钮(如下图)。

    2024年02月04日
    浏览(41)
  • rk3588 编译(使用github公版源码)和烧录(sd、emmc)

    使用 github 上的代码进行编译 https://github.com/rockchip-linux/rkbin/tree/master https://github.com/rockchip-linux/u-boot/tree/next-dev https://github.com/rockchip-linux/kernel/tree/develop-5.10 下载他们的压缩包,自行解压,解压后把文件夹名里的分支名去掉 mkimage 需要使用 rockchip 提供的 uboot 里的 sd 的启动优先

    2024年02月11日
    浏览(44)
  • 0504-stm32的调试工具:jlink使用详解(使用stlink刷机的jlink)

    jlink的一个特点是速度比较快(50Mz),当然它还有支持芯片比较全的优点,此文章我们讨论jlink在stm32开发中的使用,因为jlink太贵大部分极客不爱买,所以这里使用的是stlink刷的jlink,(针对stm32开发)使用上体验无差。 第二部分介绍使用jlink进行下载测试及对应的命令行测试

    2024年02月06日
    浏览(43)
  • JLINK仿真器用SWD模式下载程序,和stm32的连线说明

    stm32上的jlink接口有20个,然而并不是所有的接口都是必须的,在网上找了一些资料,想用杜邦线连接stm32和jlink仿真器,因为排线实在难插拔。 试了一下只需三根线就可以下载和调试,分别是1、7、9三根线;阅读方法,缺口朝上。下面附图:(20脚实际上可以不接,但是VCC一定要

    2024年02月15日
    浏览(58)
  • STM32使用Jlink下载时报错:cannot read Jlink version number

    最近在学习32遇到的一个问题,浅浅的记录一下。 在魔术棒中进行下载代码的设置时,发现选择Jlink之后,没有识别出来,提示 cannot read Jlink version number。   这个问题只要是因为电脑没有安装Jlink的驱动,所以安装一下Jlink的驱动就可以解决了,Jlink驱动可以去Jlink驱动下载官

    2024年02月11日
    浏览(34)
  • 用JFlash读取单片机程序傻瓜式教学

    这里用到的版本是JFlash6.56 下载链接SEGGER - The Embedded Experts - Downloads - J-Link / J-Trace  下载完成后安装好打开软件 如果你已经有了项目可以选择Open recent project打开最近的项目,这里我选择的是Create a new project   这里需要选择单片机型号,下面SWD,接线口顺序放在下方图里,如果

    2024年02月15日
    浏览(34)
  • 【Jlink烧录自动化】一台电脑连接 多个Jlink 用 J-flash批处理程序烧写多个单片机(生产批量烧录)

    最近一些设备需要进行预生产(小批量生产),虽然是小批量但是数量也是很多,单靠人力烧录设备比较耗费时间 因此需要做一个烧录治具批量烧录。 软件 由于设备的MCU是arm cortex M4内核,使用的是Jlink烧录因此要安装 Segger Jlink 安装之后开J-flash 物料准备 由于要一次烧录多

    2024年01月17日
    浏览(52)
  • 【STM32标准库】【基础知识】程序烧录

    文章基于适用于STM32F4系列,作者使用STM32F401CCU6开发板。 本文章基于此系列和开发板展开讨论。 我使用的开发板是某宝购买的,型号是STM32F401CCU6 请点这里 烧录器为同家店铺制作的STLINK-V2 请点这里 开发板外观 烧录器外观 请去官网下载,传送门 全部默认安装即可,注意选择

    2024年02月09日
    浏览(84)
  • FlyMcu给STM32一键烧录程序

    在此之前你需要有一个RS串口转接电路,其中DTR和RTS是必须的,目的为了实现一键下载准备,做为BOOT0电平置高电平,才能将STM芯片引导到串口烧录程序,推荐一个典型的串口一键下载电路,大家可自行优化,转载请注明出处,谢谢!   选择目标.hex文件 点击【开始编程】  

    2024年02月11日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包