开发产品一定离不开的是调试器,现在国内市场上大多用的是盗版的j_link ob和st_link。这两个调试器diy的可能性很大,我见过二合一的调试器。但是世面上的固件一般都是老版本的,在用新驱动的时候容易识别盗版导致不能用,虽然可以将驱动版本调低来解决。本文就是介绍如何提取最新的固件。

首先来看一下jlink ob。用到的文件是驱动安装目录下的JlinkARM.dll这个文件(这里以比较新的驱动版本6.18C为例)。这个文件里面包含了arm内核的所有固件,不止是jlink ob,不过其他的我没实验。还用到的软件是winhex。准备好下面开始提取固件。

第一步,用winhex打开JlinkARM.dll。

如图:

第二步,寻找固件位置。这里我就不卖关子了,直接用搜索功能 向下搜索stm32(ob的ic是stm32的)。由于stm32关键词比较多,固件位置一般靠下,可以鼠标向下适当拉一下在向下搜索。

我搜索到的第一个内容,可以看到这个固件的编译日期是2017年 用的ic是stm32f072。

找到固件的大题位置了怎么找到开头那?我就值说了,为什么就不说了,在这里向上搜索16进制字符0020(注意是16进制)。

找到了这个,首先是0020的位置一般是偶地址开始的(比对其他固件没发现不是)。

还有就是后面不愿处跟着一大堆有规律的数据,什么规律我也不知道,但是能看出来特殊,像这样

看着差不多就行了。然后从0020在往前推2个字节,比如这个也就是40 22 00 20;40就是固件的开始,开始找到了,那么怎么找到结尾那。这个比较简单,因为你多取没事,但是不能少取;最极端的方法就是看看你jlink ob用的ic的flash多大,就取多大(注意,因为固件前面还有一段bootloater,用来更新固件用的,所以要减去这个长度,这个bootloater后面会说)。

第二种方法就是找到下一个固件的开始,然后截取,不一定这么精确,多取一点没事。

把着一段内容复制出来,用winhex新建一个文件,粘贴过去。这个文件就是你提取的固件了,比如这个是2017年编译的已经非常新了,再也不怕报错了。

市面上的jlink ob大多是stm32F103的,这个固件不适合用,读者们自己接着往下搜索,就可以找到stm32F103的固件,提取方法时一样的。

F103的固件有两个:

这个编译时间比较新2017年,不知到时什么版本的,我烧写到我的jlink ob(stm32f103c8)里面时可以用的,但是好像指示灯和我手上的不一样了,不影响使用。但是最高支持2250K的频率。

这个版本在我的jilin ob(stm32f103c8)指示灯正常,显示最高频率4000K。(但是我经过测试两个固件的烧写速度一样,设置1M 2M 3M 5M烧写速度全部一样)。

你以为完了吗?当然没有,上面提到过前面还有一段用来更新固件的bootloater,这个bootloater的大小有0x4000(f103c8的大小,其他不知道)的大小并且在jlinkarm.dll里面找不到。怎么办?

有两种办法解决:

  1. 不用这个bootloater直接跳过,但是也要经过一些处理。在你提取出来的固件前面用winhex添加0x4000大小的空字节,充填数据全是0x00就行了,然后改充填完0x00的固件前面8个字节和提取出来的固件前8个字节一样

比如我的

改了两个,没影响。

这个是真正固件的开头(无改动,注意偏移地址在stm32f103c8上是0x4000)。

这样把改完的固件烧写到stm32F103c8里面就行了,至于为什么这样改这里就不多讲了,内核决定。但是这样处理是不能用官方软件更新升级固件的,因为根本没有bootloater

第二种处理方法是,找一段官方的bootloater加在固件前面,这个bootloater我在下面提供下载(但是我认为没必要,因为本来就是盗版)

下载资源含有两个完整的jlink ob固件;适用ic:stm32f101c8/cb stm32f103c8/cb。一个bootloater

下载链接:https://download.csdn.net/download/qq_39663845/10547285

注:世面上用的ic有的是stm32f101c8/cb stm32f103c8/cb都是通用的。
大家可能会问101不是没有usb功能吗?其实是硬件是有的,但是出厂没测试,或者是残次品。
也就是说你可以用但是st不售后,出了问题别找我。
还有就是f103c8的flash其实有128K,和上面一样也是没测试。stm32f101c8/cb stm32f103c8/cb这4个感觉就是一个东西不同名而已

jlink ob最新固件提取相关推荐

  1. jlink、DAPLink、J-Link  OB资料整理

    现在市面上的单片机调试器种类太多了,什么jlink-ob.DAPLink.j-link PRO.ST-Link...... 今天就来全部介绍并且梳理一下. 一.Segger的正版j-Link家族 首先 ...

  2. 学习STM32日志(1):JLink OB仿真器常见问题与解决方法

    作为一个刚上手STM32的小白,在刚拿到STM32最小系统板(由于正点原子的开发板太贵了就买了最小系统板)和Jlink ob后便兴冲冲想下载程序进去.然而突然发现自己一脸茫然不知怎么办,在CSDN上搜 ...

  3. 保姆级STM32F103C8T6做USB-TypeC版J-link OB(官方数据手册,硬件设计,固件烧录,序列号SN修改)

    前言 项目开发要用到Jlink调试代码,每次连接都有用Jlink 的Jtag连接板子的SWD接口,又恰逢开发板升级,然后想着能否把Jlink集成在下一代的开发板上. 看了下手中的Jlink好像比较小 ...

  4. 自制Jlink ob 072

    最近参考别人的帖子,自己也做了个Jlink ob,用来替代JLINK,这个是基于STM32F072做的,写个帖子,记录一下 从原理图开始 接着是PCB 布置得有点乱,尴尬 发工厂做板,焊接,有根线有错 ...

  5. J-link OB 读取不了的问题

    今天在调试程序的时候一直显示 然后呢,因为OB我也是第一次使用,所以遇到这种情况我也一脸懵逼, 因为之前一直也玩32,也没遇到这种情况. 后来找了个老铁咨询了一下,说只要OB接上去听到电脑的声音证明已 ...

  6. Jlink OB仿真Cortex-M7的问题

    使用淘宝便宜的jlink-ob给stm32f767进行烧录程序的时候,出现了如下提示: 回到淘宝链接查看了下商品详情: 确实人家不支持M7,博主想的是如果想支持M7,那一定要使用更高版本的Jlink固 ...

  7. Jlink ob制作教程 三线Jlink ob神器!!!

    传统JLINK体积大.引脚多,而且我们用的非官方版本,经常掉固件,诸多问题一直困扰着我,经过一番折腾,终于找到了正解:jlinkob,一个只有三条线的调试器,除了不能检测目标板电压(也没啥用),剩下的 ...

  8. J-Link软件和文档包的版本发行说明(2)[V4.96 ~ V6.12j版本]

    官方链接:https://www.segger.com/downloads/jlink/ReleaseNotes_JLink.html J-Link软件和文档包的版本发行说明(1)[V3.00d ~ ...

  9. ST-Link 转JLink

    根据两篇博文,操作. 1,SEGGER官方提供 将ST-Link固件升级到成J-link OB固件 http://www.amobbs.com/thread-5649373-1-1.html ST官方 ...

最新文章

  1. 基于TensorRT车辆实时推理优化
  2. ESP8266-iot-2
  3. 硬盘运行微型linux,linux用smartctl看硬盘运行了多少小时
  4. canal 监听不到数据变化_数据的异构实战(二)手写迷你版同步工程
  5. 树状数组维护区间和的模型及其拓广的简单总结
  6. Android为spinner设置适配器,Android Spinner与适配器模式详解及实例代码
  7. padodb time.inc.php,怎样实现PHP中ADODB事务处理
  8. mysql 报错从 新安装
  9. [转载] 柯受良-柯受良飞跃黄河
  10. 电脑蓝屏后你该做的几桩要事
  11. db2数据库基础知识
  12. edid ddc 显示器识别
  13. PHP开发Paypal支付,支付流程和接口实现方案
  14. 京瓷打印机p5026cdn_京瓷ECOSYS P5026cdn驱动
  15. qq浏览器android flash,支持flash游戏 安卓QQ浏览器2.0预览版体验
  16. 关于平面束方程的理解
  17. 小程序和app究竟哪个好?
  18. 0723函数的递归以及模块的初识
  19. 通过修改注册表权限修复ArcMap启动报错问题
  20. Redux 的基本使用

热门文章

  1. 邂逅未来生活场景:中国房地产精装修前沿论坛直击
  2. 解决Google浏览器网页覆盖问题
  3. 【韩老师设计模式7】外观和享元模式,MyBatis的Configuration创建 MetaObject。Integer.valueOf
  4. assoc fetch mysql 用法_mysql_fetch_assoc与mysql_fetch_array的区别?
  5. Servlet之间跳转
  6. 百度地图js版api绘制几何图形覆盖物并保存数据库
  7. C51 printf格式化输出特殊用法
  8. 也许是目前最全的计算机的网络模型讲解
  9. 「精致店主理人」:青年敢有所为,梦想掷地有声
  10. AntD 圣诞节彩蛋事件